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
     */
    constructor(options?: BarcodeGeneratorModel, element?: HTMLElement | string);
    private triggerEvent;
    onPropertyChanged(newProp: BarcodeGeneratorModel, oldProp: BarcodeGeneratorModel): void;
    private initialize;
    private renderElements;
    private refreshCanvasBarcode;
    private clearCanvas;
    /**
     * Get the properties to be maintained in the persisted state.
     * @return {string}
     */
    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
     */
    render(): void;
    /**
     * Returns the module name of the barcode
     */
    getModuleName(): string;
    /**
     * To provide the array of modules needed for control rendering
     * @return {base.ModuleDeclaration[]}
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * Destroys the barcode control
     */
    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
 * @blazorNumberEnum
 * @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
 * @blazorNumberEnum
 * @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
 * @blazorNumberEnum
 * @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
}
//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;
    /** @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;
    /** @private */
    calculateBarCodeAttributes(code: number[] | string[], canvas: HTMLElement, isUpcE?: string): void;
    private canIncrementCheck;
    private verticalTextMargin;
    private getAlignmentPosition;
    /** @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 {
    /** @private */
    validateInput(char: string): string;
    private getCodeValue;
    private appendStartStopCharacters;
    private getPatternCollection;
    /** @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 to check whether the input is valid one or not
     */
    /** @private */
    validateInput(value: string): string;
    /**
     * get the code value to check
     */
    private getCodeValue;
    private getPatternCollection;
    /** @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 to check whether the input is valid one or not
     */
    /** @private */
    validateInput(char: string): string;
    private getCodeValue;
    private getBytes;
    private appendStartStopCharacters;
    private check128C;
    private check128A;
    private check128B;
    private clipAB;
    private code128Clip;
    private clipC;
    /** @private */
    draw(canvas: HTMLElement): void;
    /** @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 to check whether the input is valid one or not
     */
    /** @private */
    validateInput(char: string): string;
    /** @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 to check whether the input is valid one or not
     */
    /** @private */
    validateInput(char: string): string;
    /** @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 to check whether the input is valid one or not
     */
    /** @private */
    validateInput(char: string): string;
    /** @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 {
    /** @private */
    validateInput(char: string): string;
    /**
     * get the code value to check
     */
    private getCodeValue;
    private getPatternCollection;
    /** @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 to check
     */
    private getCodeValue;
    /**
     * get the characters to check
     */
    private getCharacter;
    /**
     * Check sum method for the code 39 bar code
     */
    private checkSum;
    /**
     * Validate the given input to check whether the input is valid one or not
     */
    /** @private */
    validateInput(char: string): string;
    private getPatternCollection;
    private appendStartStopCharacters;
    /** @private */
    drawCode39Extension(canvas: HTMLElement, encodedCharacter: string): void;
    /** @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 to check whether the input is valid one or not
     *
     */
    /** @private */
    validateInput(char: string): string;
    private checkText;
    private code39Extension;
    /** @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 to check whether the input is valid one or not
     */
    /** @private */
    validateInput(value: string): string;
    private getCharacterWeight;
    /**
     * get the code value to check
     */
    private getCodeValue;
    private getPatternCollection;
    private calculateCheckSum;
    /** @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 to check whether the input is valid one or not
     */
    /** @private */
    validateInput(text: string): string;
    private getValue;
    private barcodeSymbols;
    private getBars;
    private GetExtendedText;
    /** @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 to check whether the input is valid one or not
     */
    /** @private */
    validateInput(value: string): string;
    private checkSumData;
    private getStructure;
    private getBinaries;
    /** @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 to check whether the input is valid one or not
     */
    /** @private */
    validateInput(value: string): string;
    private getCodeValueRight;
    private checkSumData;
    /** @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 to check whether the input is valid one or not
     */
    /** @private */
    validateInput(value: string): string;
    private checkSumData;
    private getBinaries;
    /** @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 to check whether the input is valid one or not
     */
    /** @private */
    validateInput(value: string): string;
    private checkSum;
    private getStructure;
    private getValue;
    private getExpansion;
    private getUpcValue;
    private getBinaries;
    private encoding;
    /** @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 {
    /**   @private  */
    renderRootElement(attribute: Object): HTMLElement;
    /**   @private  */
    renderRect(canvas: Object, attribute: Object): HTMLElement;
    /**   @private  */
    renderLine(canvas: Object, attribute: Object): HTMLElement;
    /**   @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 {
    /**   @private  */
    static getContext(canvas: HTMLCanvasElement): CanvasRenderingContext2D;
    /**   @private  */
    renderRootElement(attribute: Object, backGroundColor: string, width: number, height: number): HTMLElement;
    /**   @private  */
    renderRect(canvas: HTMLCanvasElement, attribute: BaseAttributes): HTMLElement;
    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);
    /**   @private  */
    renderRootElement(attribute: Object, backGroundColor: string, width: number, height: number): HTMLElement;
    /**   @private  */
    renderRectElement(canvas: HTMLCanvasElement, attribute: Object): HTMLElement;
    /**   @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 {
    /**   @private  */
    renderRootElement(attribute: Object, backGroundColor: string): HTMLElement;
    /**   @private  */
    renderRect(svg: HTMLElement, attribute: BaseAttributes): HTMLElement;
    /**   @private  */
    renderText(svg: HTMLElement, attribute: BaseAttributes): HTMLElement;
}
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/utility/barcode-util.d.ts
/**
 * Barcode util
 */
/** @private */
export  function removeChildElements(newProp: QRCodeGeneratorModel | DataMatrixGeneratorModel, barcodeCanvas: HTMLElement, mode: RenderingMode, id: string): BarcodeRenderer;
/** @private */
export  function getBaseAttributes(width: number, height: number, offSetX: number, offsetY: number, color: string, strokeColor?: string): BaseAttributes;
/** @private */
export  function clearCanvas(view: QRCodeGenerator | DataMatrixGenerator, barcodeCanvas: HTMLCanvasElement): void;
/** @private */
export  function refreshCanvasBarcode(qrCodeGenerator: QRCodeGenerator | DataMatrixGenerator, barcodeCanvas: HTMLCanvasElement): void;
//node_modules/@syncfusion/ej2-barcode-generator/src/barcode/utility/dom-util.d.ts
/**
 * DOM util
 */
/** @private */
export  function createHtmlElement(elementType: string, attribute?: Object): HTMLElement;
export  function getChildNode(node: SVGElement): SVGElement[] | HTMLCollection;
export  function measureText(textContent: BaseAttributes): Size;
/** @private */
export  function setAttribute(element: HTMLElement | SVGElement, attributes: Object): void;
/** @private */
export  function createSvgElement(elementType: string, attribute: Object): HTMLElement | SVGElement;
/** @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 we entered 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
     */
    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;
    /** @private */
    BuildDataMatrix(): number[] | string;
    private drawText;
    private getInstance;
    private drawDisplayText;
    private getDrawableSize;
    /** @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 we entered 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;
    /**
     * Destroys the the data matrix generator
     */
    destroy(): void;
    private initializePrivateVariables;
    /**
     * Constructor for creating the widget
     */
    constructor(options?: DataMatrixGeneratorModel, element?: HTMLElement | string);
    /**
     * Get the properties to be maintained in the persisted state.
     * @return {string}
     */
    getPersistData(): string;
    /**
     * Returns the module name of the the data matrix generator
     */
    getModuleName(): string;
    private setCulture;
    private getElementSize;
    private initialize;
    private triggerEvent;
    protected preRender(): void;
    onPropertyChanged(newProp: DataMatrixGeneratorModel, oldProp: DataMatrixGeneratorModel): void;
    private checkdata;
    private renderElements;
    /**
     * Renders the barcode control with nodes and connectors
     */
    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.
     */
    /** @private */
    /** @private */
    NumberOfDataCodeWord: number;
    /**
     * Get or Private set the Number of Error correction code words.
     */
    /** @private */
    /** @private */
    NumberOfErrorCorrectingCodeWords: number;
    /**
     * Get or Private set the Number of Error correction Blocks.
     */
    /** @private */
    /** @private */
    NumberOfErrorCorrectionBlocks: number[];
    /**
     * Set the End value of the Current Version.
     */
    private End;
    /**
     * Get or Private set the Data capacity.
     */
    private DataCapacity;
    /**
     * Get or Private set the Format Information.
     */
    /** @private */
    /** @private */
    FormatInformation: number[];
    /**
     * Get or Private set the Version Information.
     */
    /** @private */
    /** @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.
     */
    /** @private */
    getAlphaNumericValues(value: string): number;
    /**
     * Gets number of data code words.
     */
    private obtainNumberOfDataCodeWord;
    /**
     * Get number of Error correction code words.
     */
    private obtainNumberOfErrorCorrectingCodeWords;
    /**
     * Gets number of Error correction Blocks.
     */
    private obtainNumberOfErrorCorrectionBlocks;
    /**
     * Gets the End of the version.
     */
    private obtainEnd;
    /**
     * Gets Data capacity
     */
    private obtainDataCapacity;
    /**
     * Gets format information
     */
    private obtainFormatInformation;
    /**
     * Gets version information
     */
    private obtainVersionInformation;
    /**
     * Gets Numeric Data capacity.
     */
    /** @private */
    getNumericDataCapacity(version: QRCodeVersion, errorCorrectionLevel: ErrorCorrectionLevel): number;
    /**
     * Gets Alphanumeric data capacity.
     */
    /** @private */
    getAlphanumericDataCapacity(version: QRCodeVersion, errorCorrectionLevel: ErrorCorrectionLevel): number;
    /** @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;
    /** @private */
    /** @private */
    XDimension: number;
    private inputMode;
    /** @private */
    /** @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;
    /** @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
     * @param x - The x co-ordinate.
     * @param y - The y co-ordinate.
     */
    private drawPDP;
    /**
     * Draw the Timing Pattern
     */
    private drawTimingPattern;
    private initialize;
    /**
     * Adds quietzone to the QR Barcode.
     */
    private addQuietZone;
    /**
     * Draw the Format Information
     */
    private drawFormatInformation;
    /**
     * Allocates the Encoded Data and then Mask
     * @param Data - Encoded Data
     */
    private dataAllocationAndMasking;
    /**
     * Allocates Format and Version Information
     */
    private allocateFormatAndVersionInformation;
    /**
     * Draw the Alignment Pattern in the given location
     * @param x - The x co-ordinate
     * @param y - The y co-ordinate
     */
    private drawAlignmentPattern;
    /**
     * Gets the Allignment pattern coordinates of the current version.
     */
    private getAlignmentPatternCoOrdinates;
    /**
     * Encode the Input Data
     */
    private encodeData;
    /**
     * Converts string value to Boolean
     * @param numberInString - The String value
     * @param noOfBits - Number of Bits
     */
    private stringToBoolArray;
    /**
     * Converts Integer value to Boolean
     * @param number - The Integer value
     * @param noOfBits - Number of Bits
     */
    private intToBoolArray;
    /**
     * Splits the Code words
     * @param ds - The Encoded value Blocks
     * @param blk - Index of Block Number
     * @param count - Length of the Block
     */
    private splitCodeWord;
    /**
     * Creates the Blocks
     * @param encodeData - The Encoded value.
     * @param noOfBlocks - Number of Blocks.
     */
    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
     */
    /** @private */
    DC: string[];
    /**
     * Sets and Gets the DataBits
     */
    /** @private */
    DataBits: number;
    /**
     * Sets and Gets the Error Correction Code Words
     */
    /** @private */
    Eccw: number;
    /**
     * Initializes Error correction code word
     */
    constructor(version: QRCodeVersion, correctionLevel: ErrorCorrectionLevel);
    /**
     * Gets the Error correction code word
     */
    /** @private */
    getErcw(): string[];
    /**
     * Convert to decimal
     * @param inString - is a binary values.
     */
    private toDecimal;
    /**
     * Convert decimal to binary.
     */
    private toBinary;
    /**
     * Polynomial division
     */
    private divide;
    private xORPolynoms;
    private multiplyGeneratorPolynomByLeadterm;
    private convertToDecNotation;
    private convertToAlphaNotation;
    private findLargestExponent;
    private getIntValFromAlphaExp;
    /**
     * Find the element in the alpha
     */
    private findElement;
    /**
     * Gets g(x) of the element
     */
    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.
     * @blazorDefaultValueIgnore
     * @aspDefaultValueIgnore
     * @aspNumberEnum 
     * @blazorNumberEnum
     * @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
     * @blazorNumberEnum
     * @blazorDefaultValueIgnore
     * @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
     */
    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.
     * @blazorDefaultValueIgnore
     * @aspDefaultValueIgnore
     * @aspNumberEnum
     * @blazorNumberEnum
     * @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
     * @blazorNumberEnum
     * @blazorDefaultValueIgnore
     * @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 with nodes and connectors
     */
    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.
     * @return {string}
     */
    getPersistData(): string;
    /**
     * Returns the module name of the barcode
     */
    getModuleName(): string;
    /**
     * Destroys the barcode control
     */
    destroy(): void;
    private initializePrivateVariables;
    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
     */
    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: Function;
    /**
     * Specifies callback function to be triggered after XmlHttpRequest is succeeded.
     * The callback will contain server response as the parameter.
     * @event
     */
    onSuccess: Function;
    /**
     * Triggers when XmlHttpRequest is failed.
     * @event
     */
    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
 */
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?: EmitType<AnimationOptions>;
    /**
     * Triggers when the animation is started
     * @event
     */
    begin?: EmitType<AnimationOptions>;
    /**
     * Triggers when animation is completed
     * @event
     */
    end?: EmitType<AnimationOptions>;
    /**
     * Triggers when animation is failed due to any scripts
     * @event
     */
    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: EmitType<AnimationOptions>;
    /**
     * Triggers when the animation is started
     * @event
     */
    begin: EmitType<AnimationOptions>;
    /**
     * Triggers when animation is completed
     * @event
     */
    end: EmitType<AnimationOptions>;
    /**
     * Triggers when animation is failed due to any scripts
     * @event
     */
    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.
     * @return {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
     */
    onPropertyChanged(newProp: AnimationModel, oldProp: AnimationModel): void;
    /**
     * Returns module name as animation
     * @private
     */
    getModuleName(): string;
    /**
     * @private
     */
    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 .
 */
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;
//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?: T, ...rest: 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 isProtectedOnChange: boolean;
    protected properties: {
        [key: string]: Object;
    };
    protected changedProperties: {
        [key: string]: Object;
    };
    protected oldProperties: {
        [key: string]: Object;
    };
    protected refreshing: 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.
     */
    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
     */
    dataBind(): 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} listener - Specifies the call to run when the event occurs.
     * @return {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} listener - Specifies the function to remove
     * @return {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.
     * @return {void}
     */
    trigger(eventName: string, eventProp?: Object, successHandler?: Function, errorHandler?: Function): void | object;
    /**
     * Base constructor accept options and element
     */
    constructor(options: Object, element: ElementType | string);
    /**
     * To maintain instance in base class
     */
    protected addInstance(): void;
    /**
     * To remove the instance from the element
     */
    protected destroy(): void;
}
/**
 * Global function to get the component instance from the rendered element.
 * @param elem Specifies the HTMLElement or element id string.
 * @param comp Specifies the component module name or Component.
 */
export  function getComponent<T>(elem: HTMLElement | string, comp: string | any | T): T;
//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.
     */
    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.
     */
    static readonly isIE: Boolean;
    /**
     * Property is to get whether the browser has touch support.
     */
    static readonly isTouch: Boolean;
    /**
     * Property is to get whether the browser has Pointer support.
     */
    static readonly isPointer: Boolean;
    /**
     * Property is to get whether the browser has MSPointer support.
     */
    static readonly isMSPointer: Boolean;
    /**
     * Property is to get whether the userAgent is device based.
     */
    static readonly isDevice: Boolean;
    /**
     * Property is to get whether the userAgent is IOS.
     */
    static readonly isIos: Boolean;
    /**
     * Property is to get whether the userAgent is Ios7.
     */
    static readonly isIos7: Boolean;
    /**
     * Property is to get whether the userAgent is Android.
     */
    static readonly isAndroid: Boolean;
    /**
     * Property is to identify whether application ran in web view.
     */
    static readonly isWebView: Boolean;
    /**
     * Property is to get whether the userAgent is Windows.
     */
    static readonly isWindows: Boolean;
    /**
     * Property is to get the touch start event. It returns event name based on browser.
     */
    static readonly touchStartEvent: string;
    /**
     * Property is to get the touch move event. It returns event name based on browser.
     */
    static readonly touchMoveEvent: string;
    /**
     * Property is to get the touch end event. It returns event name based on browser.
     */
    static readonly touchEndEvent: string;
    /**
     * Property is to cancel the touch end event.
     */
    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 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
     */
    private updateTimeOut;
    /**
     * Clears changed properties
     */
    private clearChanges;
    /**
     * Set property changes
     * @param {Object} prop
     * @param {boolean} muteOnChange
     * {void}
     */
    protected setProperties(prop: Object, muteOnChange: boolean): void;
    /**
     * Binds data
     */
    protected dataBind(): void;
    /**
     * Saves changes to newer values
     * @param {string} key
     * @param {Object} newValue
     * @param {Object} oldValue
     * @returns {void}
     */
    protected saveChanges(key: string, newValue: Object, oldValue: Object): void;
}
//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
/**
 * Base class for all Essential JavaScript components
 */
export  abstract class Component<ElementType extends HTMLElement> extends Base<ElementType> {
    element: ElementType;
    private randomId;
    /**
     * 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;
    protected needsID: boolean;
    protected moduleLoader: ModuleLoader;
    protected localObserver: Observer;
    protected abstract render(): void;
    protected abstract preRender(): void;
    protected abstract getPersistData(): string;
    protected injectedModules: Function[];
    protected requiredModules(): ModuleDeclaration[];
    protected isRendered: boolean;
    /**
     * Destroys the sub modules while destroying the widget
     */
    protected destroy(): void;
    /**
     * Applies all the pending property changes and render the component again.
     */
    refresh(): void;
    /**
     * Appends the control within the given HTML element
     * @param {string | HTMLElement} selector - Target element where control needs to be appended
     */
    appendTo(selector?: string | HTMLElement): void;
    /**
     * It is used to process the post rendering functionalities to a component.
     */
    protected renderComplete(wrapperElement?: Node): void;
    /**
     * When invoked, applies the pending property changes immediately to the component.
     */
    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.
     * @return {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
     * @return {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.
     * @return {void}
     * @private
     */
    notify(property: string, argument: Object): void;
    /**
     * Get injected modules
     * @private
     */
    getInjectedModules(): Function[];
    /**
     * Dynamically injects the required modules to the component.
     */
    static Inject(...moduleList: Function[]): void;
    /**
     * Initialize the constructor for component base
     */
    constructor(options?: Object, selector?: string | ElementType);
    /**
     * This is a instance method to create an element.
     * @private
     */
    createElement: (tag: string, prop?: {
        id?: string;
        className?: string;
        innerHTML?: string;
        styles?: string;
        attrs?: {
            [key: string]: string;
        };
    }) => HTMLElement;
    private injectModules;
    private detectFunction;
    private mergePersistData;
    private setPersistData;
    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
/**
 * Function to create Html element.
 * @param tagName - Name of the tag, id and class names.
 * @param properties - Object to set properties in the element.
 * @param properties.id - To set the id to the created element.
 * @param properties.className - To add classes to the element.
 * @param properties.innerHTML - To set the innerHTML to element.
 * @param properties.styles - To set the some custom styles to element.
 * @param properties.attrs - To set the attributes to element.
 * @private
 */
export  function createElement(tagName: string, properties?: {
    id?: string;
    className?: string;
    innerHTML?: string;
    styles?: string;
    attrs?: {
        [key: string]: string;
    };
}): 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
 * @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
 * @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
 * @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.
 * @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.
 * @private
 */
export  function append(fromElements: Element[] | NodeList, toElement: Element, isEval?: Boolean): Element[] | NodeList;
/**
 * The function used to remove the element from the
 * @param  {Element|Node|HTMLElement} element - An element that is going to detach from the Dom
 * @private
 */
export  function detach(element: Element | Node | HTMLElement): Element;
/**
 * 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
 * @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  {{[key:string]:string}} attributes - JSON Object that is going to as attributes.
 * @private
 */
export  function attributes(element: Element | Node, attributes: {
    [key: string]: string;
}): Element;
/**
 * The function selects the element from giving context.
 * @param  {string} selector - Selector string need fetch element from the
 * @param  {Document|Element=document} context - It is an optional type, That specifies a Dom context.
 * @private
 */
export  function select(selector: string, context?: Document | Element): Element;
/**
 * The function selects an array of element from the given context.
 * @param  {string} selector - Selector string need fetch element from the
 * @param  {Document|Element=document} context - It is an optional type, That specifies a Dom context.
 * @private
 */
export  function selectAll(selector: string, context?: Document | Element): 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.
 * @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.
 * @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.
 * @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
 * @return {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
 * @return {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.
 * @return {void}
 * @private
 */
export  function matches(element: Element, selector: string): boolean;
//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;
    /**
     * 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;
    /**
     * 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;
}
//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;
}
/**
 * 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;
    /**
     * 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;
    /**
     * 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 target;
    private initialPosition;
    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 tapHoldTimer;
    private externalInitialize;
    private diffY;
    private pageY;
    private helperElement;
    private hoverObject;
    private parentClientRect;
    private parentScrollX;
    private parentScrollY;
    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 getDragPosition;
    private getDocumentWidthHeight;
    private intDragStop;
    private intDestroy;
    onPropertyChanged(newProp: DraggableModel, oldProp: DraggableModel): void;
    getModuleName(): string;
    private setDragArea;
    private getProperTargetElement;
    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?: (args: DropEventArgs) => void;
    /**
     * Specifies the callback function, which will be triggered while drag element is moved over droppable element.
     * @event
     */
    over?: Function;
    /**
     * Specifies the callback function, which will be triggered while drag element is moved out of droppable element.
     * @event
     */
    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: (args: DropEventArgs) => void;
    /**
     * Specifies the callback function, which will be triggered while drag element is moved over droppable element.
     * @event
     */
    over: Function;
    /**
     * Specifies the callback function, which will be triggered while drag element is moved out of droppable element.
     * @event
     */
    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
 * @private
 * ```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} debounce - Specifies at what interval given event listener should be triggered.
     * @return {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
     * @return {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
     * @return {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
     * @return {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 {
    function getHijriDate(gDate: Date): Object;
    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  let 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;
}
/**
 * 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;
}
/**
 * Specifies the CLDR data loaded for internationalization functionalities.
 * @private
 */
export  let 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 {Number} 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.
     * @returns {string}
     * @private
     */
    getNumberPattern(option: NumberFormatOptions): string;
    /**
     * Returns the First Day of the Week
     * @returns {number}
     */
    getFirstDayOfWeek(): number;
    private getCulture;
}
/**
 * Set the default culture to all EJ2 components
 * @param {string} cultureName - Specifies the culture name to be set as default culture.
 */
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[]} obj 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.
 * @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.
 * @ignore
 * @private
 */
export  function getNumberDependable(locale: string, currency: string): string;
/**
 * To get the default date CLDR object.
 * @ignore
 * @private
 */
export  function getDefaultDateObject(mode?: string): Object;
//node_modules/@syncfusion/ej2-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?: IntlBase.TimeZoneOptions;
    era?: Object;
    hour12?: boolean;
    numMapper?: NumberMapper;
    dateSeperator?: string;
    isIslamic?: boolean;
}
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} -  Specifies the culture name to be which formatting.
     * @param {DateFormatOptions} - Specific the format in which date  will format.
     * @param {cldr} - Specifies the global cldr data collection.
     * @return Function.
     */
    static dateFormat(culture: string, option: DateFormatOptions, cldr: Object): Function;
    /**
     * Returns formatted date string based on options passed.
     * @param {Date} value
     * @param {FormatOptions} options
     */
    private static intDateFormatter;
    private static getCurrentDateValue;
    /**
     * Returns two digit numbers for given value and length
     */
    private static checkTwodigitNumber;
    /**
     * Returns the value of the Time Zone.
     * @param {number} tVal
     * @param {string} pattern
     * @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} -  Specifies the culture name to be which formatting.
     * @param {DateFormatOptions} - Specific the format in which string date  will be parsed.
     * @param {cldr} - Specifies the global cldr data collection.
     *  @return 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
/**
 * 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 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 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
     * @returns {string}
     */
    function getResultantPattern(skeleton: string, dateObject: Object, type: string, isIslamic?: boolean): 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 {boolean} isNumber
     * @returns {Dependables}
     */
    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;
    /**
     * Returns proper numeric skeleton
     * @private
     * @param {string} skeleton
     * @returns {NumericSkeleton}
     */
    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 {NegativeData}
     */
    function getFormatData(pattern: string, needFraction: boolean, cSymbol: string, fractionOnly?: boolean): NegativeData;
    /**
     * Returns currency symbol based on currency code
     * @private
     * @param {Object} numericObject
     * @param {string} currencyCode
     * @returns {string}
     */
    function getCurrencySymbol(numericObject: Object, currencyCode: string): string;
    /**
     * Returns formatting options for custom number format
     * @private
     * @param {string} format
     * @param {CommonOptions} dOptions
     * @param {Dependables} obj
     * @returns {GenericFormatOptions}
     */
    function customFormat(format: string, dOptions: CommonOptions, obj: Dependables): GenericFormatOptions;
    /**
     * Returns formatting options for currency or percent type
     * @private
     * @param {string[]} parts
     * @param {string} actual
     * @param {string} symbol
     * @returns {NegativeData}
     */
    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
     * @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
     * @returns {string}
     */
    function getActualNumberFormat(culture: string, options: NumberFormatOptions, cldr?: Object): string;
    function getWeekData(culture: string, cldr?: Object): number;
}
//node_modules/@syncfusion/ej2-IntlBase/src/intl/number-formatter.d.ts
/**
 * Interface for default formatting options
 * @private
 */
export interface FormatParts extends 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} object- Specifies the global cldr data collection.
     * @return 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 {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-IntlBase/src/intl/number-parser.d.ts
/**
 * interface for Numeric Formatting Parts
 */
export interface NumericParts {
    symbolRegex?: RegExp;
    nData?: IntlBase.NegativeData;
    pData?: IntlBase.NegativeData;
    infinity?: string;
    type?: string;
    fractionDigits?: number;
    isAccount?: boolean;
    custom?: boolean;
}
/**
 * Module for Number Parser.
 * @private
 */
export  class NumberParser {
    /**
     * Returns the parser function for given skeleton.
     * @param {string} -  Specifies the culture name to be which formatting.
     * @param {NumberFormatOptions} - Specific the format in which number  will parsed.
     * @param {cldr} - Specifies the global cldr data collection.
     * @return 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;
}
//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;
    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.
     */
    static getCurrentNumericOptions(curObj: Object, numberSystem: Object, needSymbols?: 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;
}
//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?: 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: EmitType<KeyboardEventArgs>;
    /**
     * Initializes the KeyboardEvents
     * @param {HTMLElement} element
     * @param {KeyboardEventsModel} options
     */
    constructor(element: HTMLElement, options?: KeyboardEventsModel);
    /**
     * Unwire bound events and destroy the instance.
     * @return {void}
     */
    destroy(): void;
    /**
     * Function can be used to specify certain action if a property is changed
     * @param newProp
     * @param oldProp
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: KeyboardEventsModel, oldProp?: KeyboardEventsModel): void;
    protected bind(): void;
    /**
     * To get the module name, returns 'keyboard'.
     * @private
     */
    getModuleName(): string;
    /**
     * Wiring event handlers to events
     */
    private wireEvents;
    /**
     * Unwiring event handlers to events
     */
    private unwireEvents;
    /**
     * To handle a key press event returns null
     */
    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
     */
    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.
     */
    static load(localeObject: Object): void;
    /**
     * Returns current locale text for the property based on the culture name and control name.
     * @param {string} propertyName - specifies the property for which localize text to be returned.
     * @return 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
     * @return {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
     * @return {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  {T} defaultValue? - Specifies the default value of property.
 * ```
 * @Property('TypeScript')
 * propertyName: Type;
 * ```
 * @private
 */
export  function Property<T>(defaultValue?: T | Object): PropertyDecorator;
/**
 * Method used to create complex property. General syntax below.
 * @param  {T} defaultValue - Specifies the default value of property.
 * @param  {Function} type - Specifies the class type of complex object.
 * ```
 * @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} defaultType - Specifies the default value of property.
 * @param  {Function} type - Specifies the class factory type of complex object.
 * ```
 * @ComplexFactory(defaultType, factoryFunction)
 * propertyName: Type1 | Type2;
 * ```
 * @private
 */
export  function ComplexFactory(type: Function): PropertyDecorator;
/**
 * Method used to create complex array property. General syntax below.
 * @param  {T[]} defaultValue - Specifies the default value of property.
 * @param  {Function} type - Specifies the class type of complex object.
 * ```
 * @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  {T[]} defaultType - Specifies the default type of property.
 * @param  {Function} type - Specifies the class type of complex object.
 * ```
 * @Collection([], Type);
 * propertyName: Type;
 * ```
 * @private
 */
export  function CollectionFactory(type: Function): PropertyDecorator;
/**
 * Method used to create event property. General syntax below.
 * @param  {Function} defaultValue? - Specifies the default value of property.
 * @param  {boolean} isComplex? - Specifies the whether it is complex object.
 * ```
 * @Event(()=>{return true;
})
 * ```
 * @private
 */
export  function Event(): PropertyDecorator;
/**
 * NotifyPropertyChanges is triggers the call back when the property has been changed.
 *
 * ```
 *  @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.
 * @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.
     * @return {void}
     */
    on(property: string, handler: Function, context?: Object, id?: string): void;
    /**
     * To remove handlers from a event attached using on() function.
     * @param {string} eventName - 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.
     * @return {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} args - 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.
     * @return {void}
     */
    notify(property: string, argument?: Object, successHandler?: Function, errorHandler?: Function): void | Object;
    private blazorCallback;
    isJson(value: string): boolean;
    /**
     * To destroy handlers in the event
     */
    destroy(): void;
    /**
     * Returns if the property exists.
     */
    private notExist;
    /**
     * Returns if the handler is present.
     */
    private isHandlerPresent;
}
//node_modules/@syncfusion/ej2-base/src/template-engine.d.ts
export  let blazorTemplates: object;
export  function getRandomId(): string;
/**
 * Interface for Template Engine.
 */
export interface ITemplateEngine {
    compile: (templateString: string, helper?: Object) => (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.
 * @private
 */
export  function compile(templateString: string, helper?: Object): (data: Object | JSON, component?: any, propName?: any) => NodeList;
export  function updateBlazorTemplate(templateId?: string, templateName?: string, comp?: object, isEmpty?: boolean, callBack?: Function): 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.
 * @private
 */
export  function setTemplateEngine(classObj: ITemplateEngine): void;
/**
 * Get current template engine for template rendering.
 * @param  {ITemplateEngine} classObj - Class object for custom template.
 * @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.
 * @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.
 * @private
 */
export  function compile(template: string, helper?: Object): () => 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?: EmitType<TapEventArgs>;
    /**
     * Specifies the callback function for tapHold event.
     * @event
     */
    tapHold?: EmitType<TapEventArgs>;
    /**
     * Specifies the callback function for swipe event.
     * @event
     */
    swipe?: EmitType<SwipeEventArgs>;
    /**
     * Specifies the callback function for scroll event.
     * @event
     */
    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: EmitType<TapEventArgs>;
    /**
     * Specifies the callback function for tapHold event.
     * @event
     */
    tapHold: EmitType<TapEventArgs>;
    /**
     * Specifies the callback function for swipe event.
     * @event
     */
    swipe: EmitType<SwipeEventArgs>;
    /**
     * Specifies the callback function for scroll event.
     * @event
     */
    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 newProp
     * @param oldProp
     */
    onPropertyChanged(newProp: TouchModel, oldProp: TouchModel): void;
    protected bind(): void;
    /**
     * To destroy the touch instance.
     * @return {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;
    private startEvent;
    private moveEvent;
    private cancelEvent;
    private tapHoldEvent;
    private endEvent;
    private swipeFn;
    private modeclear;
    private calcPoints;
    private calcScrollPoints;
    private getVelocity;
    private checkSwipe;
}
/**
 * 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;
}
/**
 * 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
 * @return {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.
 * @return {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.
 * @return {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.
 * @return {void}
 * @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} params - String value to the get the inner object
 * @return {void}
 * @private
 */
export  function deleteObject(obj: any, key: string): void;
/**
 * Check weather the given argument is only object.
 * @param {any} obj - Object which is need to check.
 * @return {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
 * @return {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
 * @return {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
 * @return {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
 * @return {boolean}
 * @private
 */
export  function isNullOrUndefined(value: Object): boolean;
/**
 * To check whether the object is undefined.
 * @param {Object} value - To check the object is undefined
 * @return {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
 * @return {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
 * @return {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 {T[]} value- Specifies the T type array to be checked.
 * @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} - Specifies the child element to compare with parent.
 * @param{Element} - Specifies the parent element.
 * @return boolean
 * @private
 */
export  function compareElementParent(child: Element, parent: Element): boolean;
/**
 * To throw custom error message.
 * @param{string} - Specifies the error message to be thrown.
 * @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.
 * @private
 */
export  function print(element: Element, printWindow?: Window): Window;
/**
 * Function to normalize the units applied to the element.
 * @param  {number|string} value
 * @return {string} result
 * @private
 */
export  function formatUnit(value: number | string): string;
/**
 * Function to check whether the platform is blazor or not.
 * @return {boolean} result
 * @private
 */
export  function isBlazor(): boolean;
/**
 * Function to convert xPath to DOM element in blazor platform
 * @return {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
 * @return {Object} inst
 * @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
 * @return {void}
 * @private
 */
export  function addInstance(element: string | HTMLElement, instance: Object): void;
/**
 * Function to generate the unique id.
 * @return {any}
 * @private
 */
export  function uniqueID(): any;
 }
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).
     * @default ""
     */
    cssClass?: string;
    /**
     * Defines the text `content` of the Button element.
     * @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;
    /**
     * Triggers once the component rendering is completed.
     * @event
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Event>;
}
//node_modules/@syncfusion/ej2-buttons/src/button/button.d.ts
export  type IconPosition = 'Left' | 'Right' | 'Top' | 'Bottom';
/**
 * 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).
     * @default ""
     */
    cssClass: string;
    /**
     * Defines the text `content` of the Button element.
     * @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;
    /**
     * Triggers once the component rendering is completed.
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Event>;
    /**
     * Constructor for creating the widget
     * @param  {ButtonModel} options?
     * @param  {string|HTMLButtonElement} 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
     * @private
     */
    getModuleName(): string;
    /**
     * Get the properties to be maintained in the persisted state.
     * @returns string
     * @private
     */
    getPersistData(): string;
    /**
     * Dynamically injects the required modules to the component.
     * @private
     */
    static Inject(): void;
    /**
     * Called internally if any of the property value changed.
     * @param  {ButtonModel} newProp
     * @param  {ButtonModel} oldProp
     * @returns void
     * @private
     */
    onPropertyChanged(newProp: ButtonModel, oldProp: ButtonModel): void;
    /**
     * Click the button element
     * its native method
     * @public
     */
    click(): void;
    /**
     * Sets the focus to Button
     * its native method
     * @public
     */
    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
     * @blazorProperty 'ValueChange'
     */
    change?: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     * @event
     * @blazorProperty '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;
    /**
     * 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
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 keyboardModule;
    private formElement;
    private initialCheckedValue;
    /**
     * Triggers when the CheckBox state has been changed by user interaction.
     * @event
     * @blazorProperty 'ValueChange'
     */
    change: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     * @event
     * @blazorProperty '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;
    /**
     * 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
     */
    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
     */
    protected getModuleName(): string;
    /**
     * Gets the properties to be maintained in the persistence state.
     * @private
     */
    getPersistData(): string;
    private getWrapper;
    private initialize;
    private initWrapper;
    private keyUpHandler;
    private labelMouseHandler;
    /**
     * Called internally if any of the property value changes.
     * @private
     */
    onPropertyChanged(newProp: CheckBoxModel, oldProp: CheckBoxModel): void;
    /**
     * Initialize Angular, React and Unique ID support.
     * @private
     */
    protected preRender(): void;
    /**
     * Initialize the control rendering.
     * @private
     */
    protected render(): void;
    private setDisabled;
    private setText;
    private changeHandler;
    private formResetHandler;
    protected unWireEvents(): void;
    protected wireEvents(): void;
    protected updateHtmlAttributeToWrapper(): void;
    /**
     * Click the CheckBox element
     * its native method
     * @public
     */
    click(): void;
    /**
     * Sets the focus to CheckBox
     * its native method
     * @public
     */
    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.
     * @default []
     */
    chips?: string[] | number[] | ChipModel[];
    /**
     * This text property helps to render Chip component.
     * @default ''
     */
    text?: string;
    /**
     * This avatarText property helps to customize avatar content.
     * @default ''
     */
    avatarText?: string;
    /**
     * This avatarIconCss property helps to customize avatar element.
     * @default ''
     */
    avatarIconCss?: string;
    /**
     * This leadingIconCss property helps to customize leading icon element.
     * @default ''
     */
    leadingIconCss?: string;
    /**
     * This trailingIconCss property helps to customize trailing icon element.
     * @default ''
     */
    trailingIconCss?: string;
    /**
     * This cssClass property helps to customize ChipList component.
     * @default ''
     */
    cssClass?: string;
    /**
     * This enabled property helps to enable/disable ChipList component.
     * @default true
     */
    enabled?: boolean;
    /**
     * This selectedChips property helps to select chip items.
     * @default []
     */
    selectedChips?: number[] | number;
    /**
     * This selection property enables chip selection type.
     * @default 'None'
     */
    selection?: Selection;
    /**
     * This enableDelete property helps to enable delete functionality.
     * @default false
     */
    enableDelete?: boolean;
    /**
     * This created event will get triggered once the component rendering is completed.
     * @event
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Event>;
    /**
     * This click event will get triggered once the chip is clicked.
     * @event
     * @blazorProperty 'OnClick'
     */
    click?: base.EmitType<ClickEventArgs>;
    /**
     * This delete event will get triggered before removing the chip.
     * @event
     * @blazorProperty 'OnDelete'
     */
    delete?: base.EmitType<DeleteEventArgs>;
}
//node_modules/@syncfusion/ej2-buttons/src/chips/chip-list.d.ts
export  const classNames: ClassNames;
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 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 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.
     * @default []
     */
    chips: string[] | number[] | ChipModel[];
    /**
     * This text property helps to render Chip component.
     * @default ''
     */
    text: string;
    /**
     * This avatarText property helps to customize avatar content.
     * @default ''
     */
    avatarText: string;
    /**
     * This avatarIconCss property helps to customize avatar element.
     * @default ''
     */
    avatarIconCss: string;
    /**
     * This leadingIconCss property helps to customize leading icon element.
     * @default ''
     */
    leadingIconCss: string;
    /**
     * This trailingIconCss property helps to customize trailing icon element.
     * @default ''
     */
    trailingIconCss: string;
    /**
     * This cssClass property helps to customize ChipList component.
     * @default ''
     */
    cssClass: string;
    /**
     * This enabled property helps to enable/disable ChipList component.
     * @default true
     */
    enabled: boolean;
    /**
     * This selectedChips property helps to select chip items.
     * @default []
     */
    selectedChips: number[] | number;
    /**
     * This selection property enables chip selection type.
     * @default 'None'
     */
    selection: Selection;
    /**
     * This enableDelete property helps to enable delete functionality.
     * @default false
     */
    enableDelete: boolean;
    /**
     * This created event will get triggered once the component rendering is completed.
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Event>;
    /**
     * This click event will get triggered once the chip is clicked.
     * @event
     * @blazorProperty 'OnClick'
     */
    click: base.EmitType<ClickEventArgs>;
    /**
     * This delete event will get triggered before removing the chip.
     * @event
     * @blazorProperty 'OnDelete'
     */
    delete: base.EmitType<DeleteEventArgs>;
    constructor(options?: ChipListModel, element?: string | HTMLElement);
    private rippleFunctin;
    private type;
    private innerText;
    preRender(): void;
    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.
     */
    find(fields: number | HTMLElement): ChipDataArgs;
    /**
     * A function that adds chip items based on given input.
     * @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.
     */
    add(chipsData: string[] | number[] | ChipModel[] | string | number | ChipModel): void;
    /**
     * A function that selects chip items based on given input.
     * @param  {number | number[] | HTMLElement | HTMLElement[]} fields - We can pass number or array of number
     *  or chip element or array of chip element.
     */
    select(fields: number | number[] | HTMLElement | HTMLElement[]): void;
    /**
     * A function that removes chip items based on given input.
     * @param  {number | number[] | HTMLElement | HTMLElement[]} fields - We can pass number or array of number
     *  or chip element or array of chip element.
     */
    remove(fields: number | number[] | HTMLElement | HTMLElement[]): void;
    /**
     * A function that returns selected chips data.
     */
    getSelectedChips(): SelectedItem | SelectedItems;
    private wireEvent;
    private keyHandler;
    private focusInHandler;
    private focusOutHandler;
    private clickHandler;
    private selectionHandler;
    private deleteHandler;
    /**
     * It is used to destroy the ChipList component.
     */
    destroy(): void;
    private removeMultipleAttributes;
    getPersistData(): string;
    getModuleName(): string;
    onPropertyChanged(newProp: ChipList, oldProp: ChipList): void;
}
//node_modules/@syncfusion/ej2-buttons/src/chips/chip.d.ts
/**
 * Represents ChipList `Chip` model class.
 */
export  class Chip {
    /**
     * This text property helps to render ChipList component.
     * @default ''
     */
    text: string;
    /**
     * This avatarText property helps to customize avatar content.
     * @default ''
     */
    avatarText: string;
    /**
     * This avatarIconCss property helps to customize avatar element.
     * @default ''
     */
    avatarIconCss: string;
    /**
     * This leadingIconCss property helps to customize leading icon element.
     * @default ''
     */
    leadingIconCss: string;
    /**
     * This trailingIconCss property helps to customize trailing icon element.
     * @default ''
     */
    trailingIconCss: string;
    /**
     * This cssClass property helps to customize ChipList component.
     * @default ''
     */
    cssClass: string;
    /**
     * This enabled property helps to enable/disable ChipList component.
     * @default true
     */
    enabled: boolean;
}
export interface ChipModel {
    /**
     * This text property helps to render ChipList component.
     * @default ''
     */
    text?: string;
    /**
     * This avatarText property helps to customize avatar content.
     * @default ''
     */
    avatarText?: string;
    /**
     * This avatarIconCss property helps to customize avatar element.
     * @default ''
     */
    avatarIconCss?: string;
    /**
     * This leadingIconCss property helps to customize leading icon element.
     * @default ''
     */
    leadingIconCss?: string;
    /**
     * This trailingIconCss property helps to customize trailing icon element.
     * @default ''
     */
    trailingIconCss?: string;
    /**
     * This cssClass property helps to customize ChipList component.
     * @default ''
     */
    cssClass?: string;
    /**
     * This enabled property helps to enable/disable ChipList component.
     * @default true
     */
    enabled?: boolean;
}
//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
 */
export  function wrapperInitialize(createElement: CreateElementArgs, tag: string, type: string, element: HTMLInputElement, WRAPPER: string, role: string): HTMLInputElement;
export  function getTextNode(element: HTMLElement): Node;
/**
 * Destroy the button components.
 * @private
 */
export  function destroy(ejInst: Switch | CheckBox, wrapper: Element, tagName: string): 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
 */
export  function createCheckBox(createElement: CreateElementArgs, enableRipple?: boolean, options?: CheckBoxUtilModel): Element;
export  function rippleMouseHandler(e: MouseEvent, rippleSpan: Element): void;
/**
 * Append hidden input to given element
 * @private
 */
export  function setHiddenInput(proxy: Switch | CheckBox, wrap: Element): void;
export interface CheckBoxUtilModel {
    checked?: boolean;
    label?: string;
    enableRtl?: boolean;
    cssClass?: string;
}
export interface ChangeEventArgs extends base.BaseEventArgs {
    /** Returns the event parameters of the CheckBox or Switch. */
    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/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
     * @blazorProperty 'ValueChange'
     */
    change?: base.EmitType<ChangeArgs>;
    /**
     * Triggers once the component rendering is completed.
     * @event
     * @blazorProperty '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;
}
//node_modules/@syncfusion/ej2-buttons/src/radio-button/radio-button.d.ts
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;
    /**
     * Event trigger when the RadioButton state has been changed by user interaction.
     * @event
     * @blazorProperty 'ValueChange'
     */
    change: base.EmitType<ChangeArgs>;
    /**
     * Triggers once the component rendering is completed.
     * @event
     * @blazorProperty '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;
    /**
     * Constructor for creating the widget
     * @private
     */
    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
     * @return {string}
     */
    getSelectedValue(): string;
    private getRadioGroup;
    /**
     * Gets the properties to be maintained in the persistence state.
     * @private
     */
    getPersistData(): string;
    private getLabel;
    private initialize;
    private initWrapper;
    private keyUpHandler;
    private labelRippleHandler;
    private formResetHandler;
    /**
     * Called internally if any of the property value changes.
     * @private
     */
    onPropertyChanged(newProp: RadioButtonModel, oldProp: RadioButtonModel): void;
    /**
     * Initialize checked Property, Angular and React and Unique ID support.
     * @private
     */
    protected preRender(): void;
    /**
     * Initialize the control rendering
     * @private
     */
    protected render(): void;
    private setDisabled;
    private setText;
    protected unWireEvents(): void;
    protected wireEvents(): void;
    /**
     * Click the RadioButton element
     * its native method
     * @public
     */
    click(): void;
    /**
     * Sets the focus to RadioButton
     * its native method
     * @public
     */
    focusIn(): void;
}
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/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
     * @blazorProperty 'ValueChange'
     */
    change?: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     * @event
     * @blazorProperty '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 delegateMouseUpHandler;
    private delegateKeyUpHandler;
    private formElement;
    private initialSwitchCheckedValue;
    /**
     * Triggers when Switch state has been changed by user interaction.
     * @event
     * @blazorProperty 'ValueChange'
     */
    change: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     * @event
     * @blazorProperty '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
     */
    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
     */
    protected getModuleName(): string;
    /**
     * Gets the properties to be maintained in the persistence state.
     * @private
     */
    getPersistData(): string;
    private getWrapper;
    private initialize;
    private initWrapper;
    /**
     * Called internally if any of the property value changes.
     * @private
     */
    onPropertyChanged(newProp: SwitchModel, oldProp: SwitchModel): void;
    /**
     * Initialize Angular, React and Unique ID support.
     * @private
     */
    protected preRender(): void;
    /**
     * Initialize control rendering.
     * @private
     */
    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
     */
    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)
     * @blazorDefaultValue new DateTime(1900, 01, 01)
     */
    min?: Date;
    /**
     * Gets or sets the maximum date that can be selected in the Calendar.
     * @default new Date(2099, 11, 31)
     * @blazorDefaultValue new DateTime(2099, 12, 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
     * @blazorType 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;
    /**
     * 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;
    /**
     * 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>
     * 
     * @default null
     * @blazorType object
     */
    keyConfigs?: { [key: string]: string };
    /**
     * Triggers when Calendar is created.
     * @event
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when Calendar is destroyed.
     * @event
     * @blazorProperty 'Destroyed'
     */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers when the Calendar is navigated to another level or within the same level of view.
     * @event
     * @blazorProperty 'Navigated'
     */
    navigated?: base.EmitType<NavigatedEventArgs>;
    /**
     * Triggers when each day cell of the Calendar is rendered.
     * @event
     * @blazorProperty 'OnRenderDayCell'
     */
    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
     * @isBlazorNullableType true
     */
    value?: Date;
    /**
     * Gets or sets multiple selected dates of the calendar.
     * @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
     * @blazorProperty 'ValueChange'
     */
    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';
/**
 *
 * @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 tabIndex: string;
    protected todayDate: Date;
    protected calendarElement: HTMLElement;
    protected isPopupClicked: boolean;
    protected isDateSelected: boolean;
    protected defaultKeyConfigs: {
        [key: string]: string;
    };
    /**
     * Gets or sets the minimum date that can be selected in the Calendar.
     * @default new Date(1900, 00, 01)
     * @blazorDefaultValue new DateTime(1900, 01, 01)
     */
    min: Date;
    /**
     * Gets or sets the maximum date that can be selected in the Calendar.
     * @default new Date(2099, 11, 31)
     * @blazorDefaultValue new DateTime(2099, 12, 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
     * @blazorType 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;
    /**
     * 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;
    /**
     * 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>
     *
     * @default null
     * @blazorType object
     */
    keyConfigs: {
        [key: string]: string;
    };
    /**
     * Triggers when Calendar is created.
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when Calendar is destroyed.
     * @event
     * @blazorProperty 'Destroyed'
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers when the Calendar is navigated to another level or within the same level of view.
     * @event
     * @blazorProperty 'Navigated'
     */
    navigated: base.EmitType<NavigatedEventArgs>;
    /**
     * Triggers when each day cell of the Calendar is rendered.
     * @event
     * @blazorProperty 'OnRenderDayCell'
     */
    renderDayCell: base.EmitType<RenderDayCellEventArgs>;
    /**
     * Initialized new instance of Calendar Class.
     * Constructor for creating the widget
     * @param  {CalendarModel} options?
     * @param  {string|HTMLElement} element?
     */
    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 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 createContentHeader(): void;
    protected createContentBody(): void;
    protected updateFooter(): void;
    protected createContentFooter(): void;
    protected wireEvents(): void;
    protected todayButtonClick(value?: Date): 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
     * @private
     */
    protected preRender(value?: Date): void;
    protected minMaxDate(localDate: Date): Date;
    protected renderMonths(e?: Event, value?: Date): void;
    protected renderDays(currentDate: Date, e?: Event, value?: Date, multiSelection?: boolean, values?: Date[]): 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): void;
    /**
     * To get component name
     * @private
     */
    protected getModuleName(): string;
    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.
     * returns void
     * @private
     */
    onPropertyChanged(newProp: CalendarBaseModel, oldProp: CalendarBaseModel, multiSelection?: boolean, values?: Date[]): void;
    /**
     * values property updated with considered disabled dates of the calendar.
     */
    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.
     * @returns void
     */
    navigateTo(view: CalendarView, date: Date): 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;
}
/**
 * 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
     * @isBlazorNullableType true
     */
    value: Date;
    /**
     * Gets or sets multiple selected dates of the calendar.
     * @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
     * @blazorProperty 'ValueChange'
     */
    change: base.EmitType<ChangedEventArgs>;
    /**
     * Initialized new instance of Calendar Class.
     * Constructor for creating the widget
     * @param  {CalendarModel} options?
     * @param  {string|HTMLElement} element?
     */
    constructor(options?: CalendarModel, element?: string | HTMLElement);
    /**
     * To Initialize the control rendering.
     * @returns void
     * @private
     */
    protected render(): void;
    protected formResetHandler(): void;
    protected validateDate(): void;
    protected minMaxUpdate(): void;
    protected generateTodayVal(value: Date): Date;
    protected todayButtonClick(): void;
    protected keyActionHandle(e: base.KeyboardEventArgs): void;
    /**
     * Initialize the event handler
     * @private
     */
    protected preRender(): void;
    createContent(): void;
    protected minMaxDate(localDate: Date): Date;
    protected renderMonths(e?: Event): void;
    protected renderDays(currentDate: Date, 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): void;
    /**
     * To get 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.
     * 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.
     * @returns void
     */
    navigateTo(view: CalendarView, date: Date): void;
    /**
     * Gets the current view of the Calendar.
     * @returns string
     */
    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
     */
    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
     */
    removeDate(dates: 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. */
    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;
}
//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/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;
    /**
     * 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.
     * @default null
     * @aspType string
     * @blazorType 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.
     * @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.
     * 
     * 
     * 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> 
     * 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>
     * 
     * @default null
     * @blazorType object 
     */
    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
     */
    enablePersistence?: boolean;
    /**
     * specifies the z-index value of the datePicker popup element.
     * @default 1000
     * @aspType int
     * @blazorType 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
     * @blazorType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     * @isEnumeration true
     */
    floatLabelType?: inputs.FloatLabelType | string;
    /**
     * Triggers when the popup is opened.
     * @event
     * @blazorProperty 'OnOpen'
     * @blazorType PopupObjectArgs
     */
    open?: base.EmitType<PreventableEventArgs | PopupObjectArgs>;
    /**
     * Triggers when the popup is closed.
     * @event
     * @blazorProperty 'OnClose'
     * @blazorType PopupObjectArgs
     */
    close?: base.EmitType<PreventableEventArgs | PopupObjectArgs>;
    /**
     * Triggers when the input loses the focus.
     * @event
     */
    blur?: base.EmitType<BlurEventArgs>;
    /**
     *  Triggers when the input gets focus.
     * @event
     */
    focus?: base.EmitType<FocusEventArgs>;
    /**
     * Triggers when the component is created.
     * @event 
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     * @event
     * @blazorProperty '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;
    private datepickerOptions;
    protected defaultKeyConfigs: {
        [key: string]: string;
    };
    protected mobilePopupWrapper: HTMLElement;
    /**
     * Specifies the width of the DatePicker component.
     * @default null
     */
    width: number | string;
    /**
     * 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.
     * @default null
     * @aspType string
     * @blazorType 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.
     * @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>
     *
     * @default null
     * @blazorType object
     */
    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
     */
    enablePersistence: boolean;
    /**
     * specifies the z-index value of the datePicker popup element.
     * @default 1000
     * @aspType int
     * @blazorType 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
     * @blazorType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     * @isEnumeration true
     */
    floatLabelType: inputs.FloatLabelType | string;
    /**
     * Triggers when the popup is opened.
     * @event
     * @blazorProperty 'OnOpen'
     * @blazorType PopupObjectArgs
     */
    open: base.EmitType<PreventableEventArgs | PopupObjectArgs>;
    /**
     * Triggers when the popup is closed.
     * @event
     * @blazorProperty 'OnClose'
     * @blazorType PopupObjectArgs
     */
    close: base.EmitType<PreventableEventArgs | PopupObjectArgs>;
    /**
     * Triggers when the input loses the focus.
     * @event
     */
    blur: base.EmitType<BlurEventArgs>;
    /**
     *  Triggers when the input gets focus.
     * @event
     */
    focus: base.EmitType<FocusEventArgs>;
    /**
     * Triggers when the component is created.
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     * @event
     * @blazorProperty 'Destroyed'
     */
    destroyed: base.EmitType<Object>;
    /**
     * Constructor for creating the widget.
     */
    constructor(options?: DatePickerModel, element?: string | HTMLInputElement);
    /**
     * To Initialize the control rendering.
     * @return void
     * @private
     */
    render(): void;
    protected setAllowEdit(): void;
    protected updateIconState(): void;
    private initialize;
    private createInput;
    protected updateInput(): void;
    protected minMaxUpdates(): void;
    private checkStringValue;
    protected checkInvalidValue(value: Date): void;
    private bindInputEvent;
    protected bindEvents(): void;
    protected resetFormHandler(): void;
    protected restoreValue(): void;
    private inputChangeHandler;
    private bindClearEvent;
    protected resetHandler(e?: MouseEvent): void;
    private clear;
    private dateIconHandler;
    protected updateHtmlAttributeToWrapper(): void;
    protected updateHtmlAttributeToElement(): void;
    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
     */
    show(type?: null | string, e?: MouseEvent | KeyboardEvent | base.KeyboardEventArgs): void;
    /**
     * Hide the Calendar.
     * @returns void
     */
    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
     */
    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
     */
    navigateTo(view: CalendarView, date: Date): void;
    /**
     * To destroy the widget.
     * @returns void
     */
    destroy(): void;
    protected ensureInputAttribute(): void;
    /**
     * Initialize the event handler
     * @private
     */
    protected preRender(): void;
    protected validationAttribute(target: HTMLElement, inputElement: Element): void;
    protected checkFormat(): void;
    private checkHtmlAttributes;
    /**
     * To get component name.
     * @private
     */
    protected getModuleName(): string;
    private disabledDates;
    private setAriaAttributes;
    protected errorClass(): void;
    /**
     * Called internally if any of the property value changed.
     * 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.
     * @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)
     * @blazorDefaultValue new DateTime(1900, 01, 01)
     */
    min?: Date;
    /**
     * Gets or sets the maximum date that can be selected in the calendar-popup.
     * @default new Date(2099, 11, 31)
     * @blazorDefaultValue new DateTime(2099, 12, 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/week-number#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;
    /**
     * Triggers when Calendar is created.
     * @event
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when Calendar is destroyed.
     * @event
     * @blazorProperty 'Destroyed'
     */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers when the Calendar value is changed.
     * @event  
     * @blazorProperty 'ValueChange'
     */
    change?: base.EmitType<RangeEventArgs>;
    /**
     * Triggers when the Calendar is navigated to another view or within the same level of view.
     * @event
     * @blazorProperty 'Navigated'
     */
    navigated?: base.EmitType<NavigatedEventArgs>;
    /**
     * Triggers when each day cell of the Calendar is rendered.
     * @event
     * @blazorProperty 'OnRenderDayCell'
     */
    renderDayCell?: base.EmitType<RenderDayCellEventArgs>;
    /**
     * Gets or sets the start date of the date range selection.
     * @default null
     * @isBlazorNullableType true
     */
    startDate?: Date;
    /**
     * Gets or sets the end date of the date range selection.
     * @default null
     * @isBlazorNullableType true
     */
    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.
     * @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
     * @blazorType 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
     * @blazorType 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
     * @blazorType int
     * @isBlazorNullableType true
     */
    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>
     * 
     * @default null
     * @blazorType object 
     */
    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
     * @default null
     * @blazorType string
     */
    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
     * @blazorType 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.
     * @default {}
     */
    htmlAttributes?: { [key: string]: string;
 };
    /**
     * Triggers when the DateRangePicker is opened.
     * @event 
     * @blazorProperty 'OnOpen'
     * @blazorType RangePopupEventArgs
     */
    open?: base.EmitType<Object>;
    /**
     * Triggers when the DateRangePicker is closed.
     * @event
     * @blazorProperty 'OnClose'
     * @blazorType RangePopupEventArgs
     */
    close?: base.EmitType<Object>;
    /**
     * Triggers on selecting the start and end date.
     * @event 
     * @blazorProperty 'RangeSelected'
     * @blazorType RangeEventArgs
     */
    select?: base.EmitType<Object>;
    /**
     *  Triggers when the control gets focus.
     * @event
     */
    focus?: base.EmitType<FocusEventArgs>;
    /**
     * Triggers when the control loses the focus.
     * @event
     */
    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;
    /**
     * Gets or sets the start and end date of the Calendar.
     * @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)
     * @blazorDefaultValue new DateTime(1900, 01, 01)
     */
    min: Date;
    /**
     * Gets or sets the maximum date that can be selected in the calendar-popup.
     * @default new Date(2099, 11, 31)
     * @blazorDefaultValue new DateTime(2099, 12, 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/week-number#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;
    /**
     * Triggers when Calendar is created.
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when Calendar is destroyed.
     * @event
     * @blazorProperty 'Destroyed'
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers when the Calendar value is changed.
     * @event
     * @blazorProperty 'ValueChange'
     */
    change: base.EmitType<RangeEventArgs>;
    /**
     * Triggers when the Calendar is navigated to another view or within the same level of view.
     * @event
     * @blazorProperty 'Navigated'
     */
    navigated: base.EmitType<NavigatedEventArgs>;
    /**
     * Triggers when each day cell of the Calendar is rendered.
     * @event
     * @blazorProperty 'OnRenderDayCell'
     */
    renderDayCell: base.EmitType<RenderDayCellEventArgs>;
    /**
     * Gets or sets the start date of the date range selection.
     * @default null
     * @isBlazorNullableType true
     */
    startDate: Date;
    /**
     * Gets or sets the end date of the date range selection.
     * @default null
     * @isBlazorNullableType true
     */
    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.
     * @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
     * @blazorType 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
     * @blazorType 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
     * @blazorType int
     * @isBlazorNullableType true
     */
    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>
     *
     * @default null
     * @blazorType object
     */
    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
     * @default null
     * @blazorType string
     */
    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
     * @blazorType 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.
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Triggers when the DateRangePicker is opened.
     * @event
     * @blazorProperty 'OnOpen'
     * @blazorType RangePopupEventArgs
     */
    open: base.EmitType<Object>;
    /**
     * Triggers when the DateRangePicker is closed.
     * @event
     * @blazorProperty 'OnClose'
     * @blazorType RangePopupEventArgs
     */
    close: base.EmitType<Object>;
    /**
     * Triggers on selecting the start and end date.
     * @event
     * @blazorProperty 'RangeSelected'
     * @blazorType RangeEventArgs
     */
    select: base.EmitType<Object>;
    /**
     *  Triggers when the control gets focus.
     * @event
     */
    focus: base.EmitType<FocusEventArgs>;
    /**
     * Triggers when the control loses the focus.
     * @event
     */
    blur: base.EmitType<BlurEventArgs>;
    /**
     * Constructor for creating the widget
     */
    constructor(options?: DateRangePickerModel, element?: string | HTMLInputElement);
    /**
     * To Initialize the control rendering.
     * @return 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 setRangeAllowEdit;
    private updateClearIconState;
    protected validationAttribute(element: HTMLElement, input: Element): void;
    private updateHtmlAttributeToWrapper;
    private updateHtmlAttributeToElement;
    private processPresets;
    protected bindEvents(): void;
    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 keyInputHandler;
    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 removeClassDisabled;
    private updateHeader;
    private removeSelection;
    private addSelectedAttributes;
    private removeSelectedAttributes;
    private updateCalendarElement;
    private navPrevMonth;
    private deviceNavigation;
    private updateControl;
    private navNextMonth;
    private compareMonths;
    private compareYears;
    private compareDecades;
    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
     */
    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
     * @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.
     * @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;
    /**
     * Called internally if any of the property value changed.
     * 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
     * @blazorType int
     */
    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.
     * @default null
     * @isBlazorNullableType true
     */
    scrollTo?: Date;
    /**
     * specifies the z-index value of the popup element.
     * @default 1000
     * @aspType int
     * @blazorType int
     */
    zIndex?: number;
    /**
     * 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>
     * 
     * @default null
     * @blazorType object 
     */
    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.
     * @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;
    /**
     * Triggers when popup is opened.
     * @event 
     * @blazorProperty 'OnOpen'
     * @blazorType PopupObjectArgs
     */
    open?: base.EmitType<Object>;
    /**
     * Triggers when popup is closed.
     * @event 
     * @blazorProperty 'OnClose'
     * @blazorType PopupObjectArgs
     */
    close?: base.EmitType<Object>;
    /**
     * Triggers when input loses the focus.
     * @event
     */
    blur?: base.EmitType<Object>;
    /**
     * Triggers when input gets focus.
     * @event
     */
    focus?: base.EmitType<Object>;
    /**
     * Triggers when DateTimePicker is created.
     * @event 
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when DateTimePicker is destroyed.
     * @event 
     * @blazorProperty '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 previousDateTime;
    private initValue;
    protected tabIndex: string;
    private isValidState;
    protected timekeyConfigure: {
        [key: string]: string;
    };
    protected preventArgs: PopupObjectArgs;
    private dateTimeOptions;
    /**
     * 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
     * @blazorType int
     */
    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.
     * @default null
     * @isBlazorNullableType true
     */
    scrollTo: Date;
    /**
     * specifies the z-index value of the popup element.
     * @default 1000
     * @aspType int
     * @blazorType int
     */
    zIndex: number;
    /**
     * 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>
     *
     * @default null
     * @blazorType object
     */
    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.
     * @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;
    /**
     * Triggers when popup is opened.
     * @event
     * @blazorProperty 'OnOpen'
     * @blazorType PopupObjectArgs
     */
    open: base.EmitType<Object>;
    /**
     * Triggers when popup is closed.
     * @event
     * @blazorProperty 'OnClose'
     * @blazorType PopupObjectArgs
     */
    close: base.EmitType<Object>;
    /**
     * Triggers when input loses the focus.
     * @event
     */
    blur: base.EmitType<Object>;
    /**
     * Triggers when input gets focus.
     * @event
     */
    focus: base.EmitType<Object>;
    /**
     * Triggers when DateTimePicker is created.
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when DateTimePicker is destroyed.
     * @event
     * @blazorProperty 'Destroyed'
     */
    destroyed: base.EmitType<Object>;
    /**
     * Constructor for creating the widget
     */
    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.
     * @return 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 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 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;
    onPropertyChanged(newProp: DateTimePickerModel, oldProp: DateTimePickerModel): void;
    /**
     * To get 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/timepicker/index.d.ts
/**
 * TimePicker modules
 */
//node_modules/@syncfusion/ej2-calendars/src/timepicker/timepicker-model.d.ts
/**
 * 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>
     * 
     * @default null
     * @blazorType object 
     */
    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.
     * @default null
     * @aspType string
     * @blazorType 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.
     * @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
     * @blazorType 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
     * @blazorType 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
     * @blazorType int
     * 
     */
    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. 
     * @default null
     * @isBlazorNullableType true
     */
    scrollTo?: Date;
    /**
     * Gets or sets the value of the component. The value is parsed based on the culture specific time format.
     * @default null
     * @isBlazorNullableType 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
     * @blazorDefaultValue new DateTime(1900, 01, 01, 00, 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
     * @blazorDefaultValue new DateTime(2099, 12, 31, 23, 59, 59)
     */
    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;
    /**
     * Triggers when the value is changed.
     * @event  
     * @blazorProperty 'ValueChange'
     */
    change?: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when the component is created.
     * @event
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     * @event
     * @blazorProperty 'Destroyed'
     */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers when the popup is opened.
     * @event
     * @blazorProperty 'OnOpen'
     */
    open?: base.EmitType<PopupEventArgs>;
    /**
     * Triggers while rendering the each popup list item.
     * @event
     * @blazorProperty 'OnItemRender'
     */
    itemRender?: base.EmitType<ItemEventArgs>;
    /**
     * Triggers when the popup is closed.
     * @event
     * @blazorProperty 'OnClose'
     */
    close?: base.EmitType<PopupEventArgs>;
    /**
     * Triggers when the control loses the focus.
     * @event
     */
    blur?: base.EmitType<BlurEventArgs>;
    /**
     * Triggers when the control gets focused.
     * @event
     */
    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. */
    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. */
    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;
    };
}
/**
 * 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;
    /**
     * 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>
     *
     * @default null
     * @blazorType object
     */
    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.
     * @default null
     * @aspType string
     * @blazorType 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.
     * @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
     * @blazorType 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
     * @blazorType 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
     * @blazorType int
     *
     */
    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.
     * @default null
     * @isBlazorNullableType true
     */
    scrollTo: Date;
    /**
     * Gets or sets the value of the component. The value is parsed based on the culture specific time format.
     * @default null
     * @isBlazorNullableType 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
     * @blazorDefaultValue new DateTime(1900, 01, 01, 00, 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
     * @blazorDefaultValue new DateTime(2099, 12, 31, 23, 59, 59)
     */
    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;
    /**
     * Triggers when the value is changed.
     * @event
     * @blazorProperty 'ValueChange'
     */
    change: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when the component is created.
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     * @event
     * @blazorProperty 'Destroyed'
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers when the popup is opened.
     * @event
     * @blazorProperty 'OnOpen'
     */
    open: base.EmitType<PopupEventArgs>;
    /**
     * Triggers while rendering the each popup list item.
     * @event
     * @blazorProperty 'OnItemRender'
     */
    itemRender: base.EmitType<ItemEventArgs>;
    /**
     * Triggers when the popup is closed.
     * @event
     * @blazorProperty 'OnClose'
     */
    close: base.EmitType<PopupEventArgs>;
    /**
     * Triggers when the control loses the focus.
     * @event
     */
    blur: base.EmitType<BlurEventArgs>;
    /**
     * Triggers when the control gets focused.
     * @event
     */
    focus: base.EmitType<FocusEventArgs>;
    /**
     * Constructor for creating the widget
     */
    constructor(options?: TimePickerModel, element?: string | HTMLInputElement);
    /**
     * Initialize the event handler
     * @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;
    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 removeErrorClass;
    private checkErrorState;
    private validateInterval;
    private disableTimeIcon;
    private disableElement;
    private enableElement;
    private selectInputText;
    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 popupHandler;
    private mouseDownHandler;
    private mouseUpHandler;
    private focusSelection;
    private inputHandler;
    private onMouseClick;
    private closePopup;
    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;
    protected formResetHandler(): void;
    private inputChangeHandler;
    protected unBindEvents(): void;
    private bindClearEvent;
    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;
    protected findNextElement(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
     */
    hide(): void;
    /**
     * Opens the popup to show the list items.
     * @returns void
     */
    show(event?: KeyboardEvent | MouseEvent | Event): void;
    private formatValues;
    private popupAlignment;
    /**
     * Gets the properties to be maintained upon browser refresh.
     * @returns string
     */
    getPersistData(): string;
    /**
     * To get component name
     * @private
     */
    protected getModuleName(): string;
    /**
     * Called internally if any of the property value changed.
     * 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;
    /**
     * 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'
     * @default None
     */
    selectionMode?: AccumulationSelectionMode;
    /**
     * 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;
    /**
     * Triggers after accumulation chart loaded.
     * @event
     * @blazorProperty 'Loaded'
     */
    loaded?: base.EmitType<IAccLoadedEventArgs>;
    /**
     * Triggers before accumulation chart load.
     * @event
     * @deprecated
     */
    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 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 after window resize.
     * @event
     * @blazorProperty 'Resized'
     */
    resized?: base.EmitType<IAccResizeEventArgs>;
    /**
     * 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;
    /**
     * `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;
    /**
     * 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'
     * @default None
     */
    selectionMode: AccumulationSelectionMode;
    /**
     * 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;
    /**
     * Triggers after accumulation chart loaded.
     * @event
     * @blazorProperty 'Loaded'
     */
    loaded: base.EmitType<IAccLoadedEventArgs>;
    /**
     * Triggers before accumulation chart load.
     * @event
     * @deprecated
     */
    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 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 after window resize.
     * @event
     * @blazorProperty 'Resized'
     */
    resized: base.EmitType<IAccResizeEventArgs>;
    /**
     * 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 explode radius internal property */
    explodeDistance: number;
    /** @private Mouse position x */
    mouseX: number;
    /** @private Mouse position y */
    mouseY: number;
    private resizeTo;
    /** @private */
    origin: ChartLocation;
    /** @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;
    /**
     * 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.
     * @return {boolean}
     * @private
     */
    accumulationMouseEnd(e: PointerEvent): boolean;
    /**
     * Handles the mouse start.
     * @return {boolean}
     * @private
     */
    accumulationMouseStart(e: PointerEvent): boolean;
    /**
     * Handles the accumulation chart resize.
     * @return {boolean}
     * @private
     */
    accumulationResize(e: Event): 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.
     * @return {boolean}
     * @private
     */
    accumulationMouseMove(e: PointerEvent): boolean;
    titleTooltip(event: Event, x: number, y: number, isTouch?: boolean): void;
    /**
     * Handles the mouse click on accumulation chart.
     * @return {boolean}
     * @private
     */
    accumulationOnMouseClick(e: PointerEvent): boolean;
    private triggerPointEvent;
    /**
     * Handles the mouse right click on accumulation chart.
     * @return {boolean}
     * @private
     */
    accumulationRightClick(event: MouseEvent | PointerEvent): boolean;
    /**
     * Handles the mouse leave on accumulation chart.
     * @return {boolean}
     * @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.
     * @return {boolean}
     * @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
     * @return {base.ModuleDeclaration[]}
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * To find datalabel visibility in series
     */
    private findDatalabelVisibility;
    /**
     * 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
     */
    renderAnnotations(element: Element): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the annotation.
     * @return {void}
     * @private
     */
    destroy(control: AccumulationChart): 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'
     */
    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'
     */
    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;
    /**
     * 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;
}
/**
 * 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.
     * @default 'SeriesType'
     */
    legendShape?: LegendShape;
    /**
     * 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
     */
    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'
     */
    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'
     */
    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;
    /**
     * 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;
}
/**
 * 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;
}
/**
 *  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.
     * @default 'SeriesType'
     */
    legendShape: LegendShape;
    /**
     * 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
     */
    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;
    /**
     * 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;
    /** @private To refresh the Datamanager for series */
    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 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';
/**
 * 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;
}
/**
 * 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;
}
/**
 * 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 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;
}
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 IAccChartTooltipTemplate {
    /** accumulation point x value */
    x?: Object;
    /** accumulation point y value */
    y?: number;
    /** 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 index
     * @param point
     * @param explode
     */
    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 index
     * @param sliceId
     * @param start
     * @param endX
     * @param endY
     */
    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;
    constructor(accumulation: AccumulationChart);
    /**
     * Method to get datalabel text location.
     * @private
     */
    getDataLabelPosition(point: AccPoints, dataLabel: AccumulationDataLabelSettingsModel, textSize: svgBase.Size, points: AccPoints[], parent: Element, id: string): void;
    /**
     * Method to get datalabel bound.
     */
    private getLabelRegion;
    /**
     * Method to get datalabel smart position.
     */
    private getSmartLabel;
    /**
     * To find trimmed datalabel tooltip needed.
     * @return {void}
     * @private
     */
    move(e: Event, x: number, y: number, isTouch?: boolean): void;
    /**
     * To find previous valid label point
     */
    private findPreviousPoint;
    /**
     * To find current point datalabel is overlapping with other points
     */
    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 datalabel angle position for outside labels
     */
    private setOuterSmartLabel;
    /**
     * Sets smart label positions for funnel and pyramid series
     */
    private setSmartLabelForSegments;
    /**
     * To find connector line overlapping.
     */
    private isConnectorLineOverlapping;
    /**
     * To find two rectangle intersect
     */
    private isLineRectangleIntersect;
    /**
     * To find two line intersect
     */
    private isLinesIntersect;
    /**
     * To get two rectangle overlapping angles.
     */
    private getOverlappedAngle;
    /**
     * To get connector line path
     */
    private getConnectorPath;
    /**
     * Finds the curved path for funnel/pyramid data label connectors
     */
    private getPolyLinePath;
    /**
     * Finds the bezier point for funnel/pyramid data label connectors
     */
    private getBezierPoint;
    /**
     * To get label edges based on the center and label rect position.
     */
    private getEdgeOfLabel;
    /**
     * Finds the distance between the label position and the edge/center of the funnel/pyramid
     */
    private getLabelDistance;
    /**
     * Finds the label position / beginning of the connector(ouside funnel labels)
     */
    private getLabelLocation;
    /**
     * Finds the beginning 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;
    /**
     * To find the template element size
     * @param element
     * @param point
     * @param argsData
     */
    private getTemplateSize;
    /**
     * To set the template element style
     * @param childElement
     * @param point
     * @param parent
     * @param labelColor
     * @param fill
     */
    private setTemplateStyle;
    /**
     * To find saturated color for datalabel
     */
    private getSaturatedColor;
    /**
     * Animates the data label template.
     * @return {void}.
     * @private
     */
    doTemplateAnimation(accumulation: AccumulationChart, element: Element): void;
    /**
     * To find background color for the datalabel
     */
    private getLabelBackground;
    /**
     * To correct the padding between datalabel regions.
     */
    private correctLabelRegion;
    /**
     * To get the dataLabel module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the data label.
     * @return {void}
     * @private
     */
    destroy(accumulation: AccumulationChart): void;
}
//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 getSegmentData;
    /**
     * Renders a funnel segment
     * @private
     */
    renderPoint(point: AccPoints, series: AccumulationSeries, chart: AccumulationChart, options: svgBase.PathOption, seriesGroup: Element, redraw: boolean): void;
    /**
     * To get the module name of the funnel series.
     */
    protected getModuleName(): string;
    /**
     * To destroy the funnel series.
     * @return {void}
     * @private
     */
    destroy(accumulation: AccumulationChart): 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 chart
     */
    constructor(chart: AccumulationChart);
    /**
     * Get the legend options.
     * @return {void}
     * @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;
    /**
     * To find maximum column size for legend
     */
    private getMaxColumn;
    /**
     * To find available width from legend x position.
     */
    private getAvailWidth;
    /**
     * To find legend rendering locations from legend options.
     * @private
     */
    getRenderPoint(legendOption: LegendOptions, start: ChartLocation, textPadding: number, prevLegend: LegendOptions, rect: svgBase.Rect, count: number, firstLegend: number): void;
    /**
     * finding the smart legend place according to positions.
     * @return {void}
     * @private
     */
    getSmartLegendLocation(labelBound: svgBase.Rect, legendBound: svgBase.Rect, margin: MarginModel): void;
    /**
     * To get title rect.
     */
    private getTitleRect;
    /**
     * To get legend by index
     */
    private legendByIndex;
    /**
     * To show or hide the legend on clicking the legend.
     * @return {void}
     */
    click(event: Event): void;
    /**
     * To translate the point elements by index and position
     */
    private sliceVisibility;
    /**
     * Slice animation
     * @param element
     * @param name
     * @param isVisible
     */
    private sliceAnimate;
    /**
     * Get module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the Legend.
     * @return {void}
     * @private
     */
    destroy(chart: AccumulationChart): 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;
    center: ChartLocation;
    radius: number;
    labelRadius: 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.
     * @return {void}
     * @private
     */
    destroy(accumulation: AccumulationChart): 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
     * @return {void}
     * @private
     */
    destroy(accumulation: AccumulationChart): 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/selection.d.ts
/**
 * `AccumulationSelection` module handles the selection for accumulation chart.
 */
export  class AccumulationSelection extends BaseSelection {
    private renderer;
    /** @private */
    rectPoints: svgBase.Rect;
    selectedDataIndexes: Indexes[];
    private series;
    constructor(accumulation: AccumulationChart);
    /**
     * To initialize the private variables
     */
    private initPrivateVariables;
    /**
     * Invoke selection for rendered chart.
     * @param  {AccumulationChart} chart - Define the chart to invoke the selection.
     * @return {void}
     */
    invokeSelection(accumulation: AccumulationChart): void;
    /**
     * To get series selection style by series.
     */
    private generateStyle;
    /**
     * To get elements by index, series
     */
    private findElements;
    /**
     * To get series point element by index
     */
    private getElementByIndex;
    /**
     * To calculate selected elements on mouse click or touch
     * @private
     */
    calculateSelectedElements(accumulation: AccumulationChart, event: Event): void;
    /**
     * To perform the selection process based on index and element.
     */
    private performSelection;
    /**
     * 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, oldMode: AccumulationSelectionMode): 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): 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;
    /**
     * To check selected points are visibility
     */
    private checkPointVisibility;
    /**
     * Get module name.
     */
    getModuleName(): string;
    /**
     * To destroy the selection.
     * @return {void}
     * @private
     */
    destroy(accumulation: AccumulationChart): 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;
    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/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
     * @private
     */
    renderAnnotations(element: Element): void;
    /**
     * To destroy the annotation.
     * @return {void}
     * @private
     */
    destroy(control: Chart): 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.
     * @return {string}
     * @private
     */
    getSkeleton(axis: Axis, currentValue: number, previousValue: number): string;
    /**
     * Get intervalType month format
     * @param currentValue
     * @param previousValue
     */
    private getMonthFormat;
    /**
     * Get intervalType day label format for the axis
     * @param axis
     * @param currentValue
     * @param previousValue
     */
    private getDayFormat;
    /**
     * Find label format for axis
     * @param axis
     * @param currentValue
     * @param 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'
     */
    skeletonType?: SkeletonType;
    /**
     * Left and right padding for the plot area in pixels.
     * @default 0
     */
    plotOffset?: 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;
    /**
     * 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;
    /**
     * 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;
    /**
     * 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
     * @return {void}
     * @private
     */
    computeSize(axis: Axis, clipRect: svgBase.Rect, 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
     * @return {void}
     * @private
     */
    computeSize(axis: Axis, clipRect: svgBase.Rect, 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'
     */
    skeletonType: SkeletonType;
    /**
     * Left and right padding for the plot area in pixels.
     * @default 0
     */
    plotOffset: 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;
    /**
     * 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;
    /**
     * 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;
    /**
     * 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 */
    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;
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
    /**
     * The function used to find tick size.
     * @return {number}
     * @private
     */
    findTickSize(crossAxis: Axis): number;
    /**
     * The function used to find axis position.
     * @return {number}
     * @private
     */
    isInside(range: VisibleRangeModel): boolean;
    /**
     * The function used to find label svgBase.Size.
     * @return {number}
     * @private
     */
    findLabelSize(crossAxis: Axis, innerPadding: number): number;
    /**
     * The function used to find axis position.
     * @return {number}
     * @private
     */
    updateCrossValue(chart: Chart): void;
    private findDifference;
    /**
     * Calculate visible range for axis.
     * @return {void}
     * @private
     */
    calculateVisibleRange(size: svgBase.Size): void;
    /**
     * Triggers the event.
     * @return {void}
     * @private
     */
    triggerRangeRender(chart: Chart, minimum: number, maximum: number, interval: number): void;
    /**
     * Calculate padding for the axis.
     * @return {string}
     * @private
     */
    getRangePadding(chart: Chart): string;
    /**
     * Calculate maximum label width for the axis.
     * @return {void}
     * @private
     */
    getMaxLabelWidth(chart: Chart): void;
    /**
     * Finds the multiple rows for axis.
     * @return {void}
     */
    private findMultiRows;
    /**
     * Finds the default module for axis.
     * @return {void}
     * @private
     */
    getModule(chart: Chart): 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.
     * @return {void}
     * @private
     */
    measureAxis(rect: svgBase.Rect): void;
    private measureRowAxis;
    private measureColumnAxis;
    /**
     * Measure the column and row in chart.
     * @return {void}
     * @private
     */
    measureDefinition(definition: Row | Column, chart: Chart, size: svgBase.Size, clipRect: svgBase.Rect): void;
    /**
     * Measure the axis.
     * @return {void}
     * @private
     */
    private calculateAxisSize;
    /**
     * Measure the axis.
     * @return {void}
     * @private
     */
    measure(): void;
    private crossAt;
    private updateCrossAt;
    private pushAxis;
    private arrangeAxis;
    private getActualColumn;
    private getActualRow;
    /**
     * Measure the row size.
     * @return {void}
     */
    private calculateRowSize;
    /**
     * Measure the row size.
     * @param rect
     */
    private calculateColumnSize;
    /**
     * To render the axis element.
     * @return {void}
     * @private
     */
    renderAxes(): Element;
    /**
     * To render the axis scrollbar
     * @param chart
     * @param axis
     */
    private renderScrollbar;
    /**
     * To find the axis position
     * @param axis
     */
    private findAxisPosition;
    /**
     * To render the bootom line of the columns and rows
     * @param definition
     * @param index
     * @param isRow
     */
    private drawBottomLine;
    /**
     * To render the axis line
     * @param axis
     * @param index
     * @param plotX
     * @param plotY
     * @param parent
     * @param rect
     */
    private drawAxisLine;
    /**
     * To render the yAxis grid line
     * @param axis
     * @param index
     * @param parent
     * @param rect
     */
    private drawYAxisGridLine;
    /**
     * To check the border of the axis
     * @param axis
     * @param index
     * @param value
     */
    private isBorder;
    /**
     * To render the yAxis label
     * @param axis
     * @param index
     * @param parent
     * @param rect
     * @private
     */
    drawYAxisLabels(axis: Axis, index: number, parent: Element, rect: svgBase.Rect): void;
    /**
     * To render the yAxis label border.
     * @param axis
     * @param index
     * @param parent
     * @param rect
     */
    private drawYAxisBorder;
    /**
     * To render the yAxis title
     * @param axis
     * @param index
     * @param parent
     * @param rect
     */
    private drawYAxisTitle;
    /**
     * xAxis grid line calculation performed here
     * @param axis
     * @param index
     * @param parent
     * @param rect
     */
    private drawXAxisGridLine;
    /**
     * To calcualte the axis minor line
     * @param axis
     * @param tempInterval
     * @param rect
     * @param labelIndex
     */
    private drawAxisMinorLine;
    /**
     * To find the numeric value of the log
     * @param axis
     * @param logPosition
     * @param logInterval
     * @param value
     * @param labelIndex
     */
    private findLogNumeric;
    /**
     * To render the xAxis Labels
     * @param axis
     * @param index
     * @param parent
     * @param rect
     * @private
     */
    drawXAxisLabels(axis: Axis, index: number, parent: Element, rect: svgBase.Rect): void;
    /**
     * To get axis label text
     * @param breakLabels
     * @param label
     * @param axis
     * @param intervalLength
     */
    private getLabelText;
    /**
     * To render the x-axis label border.
     * @param axis
     * @param index
     * @param parent
     * @param axisRect
     */
    private drawXAxisBorder;
    /**
     * To create border element of the axis
     * @param axis
     * @param index
     * @param labelBorder
     * @param parent
     */
    private createAxisBorderElement;
    /**
     * To find the axis label of the intersect action
     * @param axis
     * @param label
     * @param width
     */
    private findAxisLabel;
    /**
     * X-Axis Title function performed
     * @param axis
     * @param index
     * @param parent
     * @param rect
     */
    private drawXAxisTitle;
    /**
     * To render the axis grid and tick lines(Both Major and Minor)
     * @param axis
     * @param index
     * @param gridDirection
     * @param gridModel
     * @param gridId
     * @param gridIndex
     * @param parent
     * @param themeColor
     * @param dashArray
     */
    private renderGridLine;
    /**
     * To Find the parent node of the axis
     * @param chart
     * @param label
     * @param axis
     * @param index
     */
    private findParentNode;
    /**
     * Create Zooming Labels Function Called here
     * @param chart
     * @param labelElement
     * @param axis
     * @param index
     * @param rect
     */
    private createZoomingLabel;
    /**
     * To get Rotate text size
     * @param isBreakLabel
     * @param axis
     * @param label
     * @param angle
     * @param chart
     */
    private getRotateText;
}
//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.
     * @return {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.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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.
     * @return {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
     * @param chart
     * @private
     */
    calculateVisibleLabels(axis: Axis, chart: Chart | RangeNavigator): void;
    /** @private */
    increaseDateTimeInterval(axis: Axis, value: number, interval: number): Date;
    private alignRangeStart;
    /**
     * Get module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the category axis.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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.
     * @return {void}
     * @private
     */
    calculateRangeAndInterval(size: svgBase.Size, axis: Axis): void;
    /**
     * Calculate label for the axis.
     * @private
     */
    calculateVisibleLabels(axis: Axis): void;
    /**
     * To get the Indexed axis label text with axis format for DateTimeCategory axis
     * @param value
     * @param format
     */
    getIndexedAxisLabel(value: string, format: Function): string;
    /**
     * get same interval
     */
    private sameInterval;
    /**
     * Get module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the category axis.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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;
    /**
     * 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
     */
    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.
     * @return {void}
     * @private
     */
    calculateRangeAndInterval(size: svgBase.Size, axis: Axis): void;
    /**
     * Calculate Range for the axis.
     * @private
     */
    protected calculateRange(axis: Axis, size: svgBase.Size): 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.
     * @return {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.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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;
    /**
     * Constructor for the logerithmic module.
     * @private
     */
    constructor(chart: Chart);
    /**
     * Binding events for multi level module.
     */
    private addEventListener;
    /**
     * Finds multilevel label height
     * @return {void}
     */
    getMultilevelLabelsHeight(axis: Axis): void;
    /**
     * render x axis multi level labels
     * @private
     * @return {void}
     */
    renderXAxisMultiLevelLabels(axis: Axis, index: number, parent: Element, axisRect: svgBase.Rect): void;
    /**
     * render x axis multi level labels border
     * @private
     * @return {void}
     */
    private renderXAxisLabelBorder;
    /**
     * render y axis multi level labels
     * @private
     * @return {void}
     */
    renderYAxisMultiLevelLabels(axis: Axis, index: number, parent: Element, rect: svgBase.Rect): void;
    /**
     * render y axis multi level labels border
     * @private
     * @return {void}
     */
    private renderYAxisLabelBorder;
    /**
     * create cliprect
     * @return {void}
     * @private
     */
    createClipRect(x: number, y: number, height: number, width: number, clipId: string, axisId: string): void;
    /**
     * create borer element
     * @return {void}
     * @private
     */
    createBorderElement(borderIndex: number, axisIndex: number, axis: Axis, path: string, pointIndex?: number): void;
    /**
     * Triggers the event.
     * @return {void}
     * @private
     */
    triggerMultiLabelRender(axis: Axis, text: string, textStyle: FontModel, textAlignment: Alignment, customAttributes: object): IAxisMultiLabelRenderEventArgs;
    /**
     * Triggers the event.
     * @return {void}
     * @private
     */
    MultiLevelLabelClick(labelIndex: string, axisIndex: number): IMultiLevelLabelClickEventArgs;
    /**
     * To click the multi level label
     * @return {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
export  class PolarRadarPanel extends LineBase {
    private initialClipRect;
    private htmlObject;
    private element;
    private centerX;
    private centerY;
    private startAngle;
    /** @private */
    seriesClipRect: svgBase.Rect;
    /**
     * Measure the polar radar axis size.
     * @return {void}
     * @private
     */
    measureAxis(rect: svgBase.Rect): void;
    private measureRowAxis;
    private measureColumnAxis;
    /**
     * Measure the column and row in chart.
     * @return {void}
     * @private
     */
    measureDefinition(definition: Row | Column, chart: Chart, size: svgBase.Size, clipRect: svgBase.Rect): void;
    /**
     * Measure the axis.
     * @return {void}
     * @private
     */
    private calculateAxisSize;
    /**
     * Measure the axis.
     * @return {void}
     * @private
     */
    measure(): void;
    /**
     * Measure the row size.
     * @return {void}
     */
    private calculateRowSize;
    /**
     * Measure the row size.
     * @return {void}
     */
    private calculateColumnSize;
    /**
     * To render the axis element.
     * @return {void}
     * @private
     */
    renderAxes(): Element;
    private drawYAxisLine;
    drawYAxisLabels(axis: Axis, index: number): void;
    private drawYAxisGridLine;
    private drawXAxisGridLine;
    private drawAxisMinorLine;
    /**
     * To render the axis label.
     * @return {void}
     * @private
     */
    drawXAxisLabels(axis: Axis, index: number): void;
    private renderTickLine;
    private renderGridLine;
}
//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
     * @param strip line
     * @param seriesClipRect
     * @param startValue
     * @param segmentAxis
     */
    private measureStripLine;
    /**
     * To get from to value from start, end, size, start from axis
     * @param start
     * @param end
     * @param size
     * @param startFromAxis
     * @param axis
     * @param strip line
     */
    private getFromTovalue;
    /**
     * Finding end value of the strip line
     * @param to
     * @param from
     * @param size
     * @param axis
     * @param end
     * @param strip line
     */
    private getToValue;
    /**
     * To check the strip line values within range
     * @param value
     * @param axis
     */
    private findValue;
    /**
     * To render strip lines based start and end.
     * @private
     * @param chart
     * @param position
     * @param axes
     */
    renderStripLine(chart: Chart, position: ZIndex, axes: Axis[]): void;
    /**
     * To draw the single line strip line
     * @param strip line
     * @param rect
     * @param id
     * @param parent
     * @param chart
     * @param axis
     */
    private renderPath;
    /**
     * To draw the rectangle
     * @param strip line
     * @param rect
     * @param id
     * @param parent
     * @param chart
     */
    private renderRectangle;
    /**
     * To create the text on strip line
     * @param strip line
     * @param rect
     * @param id
     * @param parent
     * @param chart
     * @param axis
     */
    private renderText;
    private invertAlignment;
    /**
     * To find the next value of the recurrence strip line
     * @param axis
     * @param stripline
     * @param startValue
     */
    private getStartValue;
    /**
     * Finding segment axis for segmented strip line
     * @param axes
     * @param axis
     * @param strip line
     */
    private getSegmentAxis;
    /**
     * To render strip line on chart
     * @param axis
     * @param stripline
     * @param seriesClipRect
     * @param id
     * @param striplineGroup
     * @param chart
     * @param startValue
     * @param segmentAxis
     * @param count
     */
    private renderStripLineElement;
    /**
     * To find the factor of the text
     * @param anchor
     */
    private factor;
    /**
     * To find the start value of the text
     * @param xy
     * @param size
     * @param textAlignment
     */
    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 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;
}
/**
 * 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 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 to enable the zooming feature in the chart.
     */
    zoomSettings?: ZoomSettingsModel;
    /**
     * 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;
    /**
     * 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;
    /**
     * 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?: IndexesModel[];
    /**
     * Specifies whether a grouping separator should be used for a number.
     * @default false
     */
    useGroupingSeparator?: 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;
    /**
     * 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
     * @blazorProperty 'Resized'
     */
    resized?: base.EmitType<IResizeEventArgs>;
    /**
     * 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 after chart load.
     * @event
     * @blazorProperty 'Loaded'
     */
    loaded?: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers before chart load.
     * @event
     * @deprecated
     */
    load?: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers after animation is completed for the series.
     * @event
     * @blazorProperty 'OnAnimationComplete'
     */
    animationComplete?: base.EmitType<IAnimationCompleteEventArgs>;
    /**
     * Triggers before the legend is rendered.
     * @event
     * @deprecated
     */
    legendRender?: base.EmitType<ILegendRenderEventArgs>;
    /**
     * Triggers before the data label for series is rendered.
     * @event
     * @deprecated
     */
    textRender?: base.EmitType<ITextRenderEventArgs>;
    /**
     * Triggers before each points for the series is rendered.
     * @event
     * @deprecated
     */
    pointRender?: base.EmitType<IPointRenderEventArgs>;
    /**
     * Triggers before the series is rendered.
     * @event
     * @deprecated
     */
    seriesRender?: base.EmitType<ISeriesRenderEventArgs>;
    /**
     * Triggers before each axis label is rendered.
     * @event
     * @deprecated
     */
    axisLabelRender?: base.EmitType<IAxisLabelRenderEventArgs>;
    /**
     * Triggers before each axis range is rendered.
     * @event
     * @deprecated
     */
    axisRangeCalculated?: base.EmitType<IAxisRangeCalculatedEventArgs>;
    /**
     * Triggers before each axis multi label is rendered.
     * @event
     * @deprecated
     */
    axisMultiLabelRender?: base.EmitType<IAxisMultiLabelRenderEventArgs>;
    /**
     * Triggers after click on legend
     * @event
     */
    legendClick?: base.EmitType<ILegendClickEventArgs>;
    /**
     * Triggers after click on multiLevelLabelClick
     * @event
     */
    multiLevelLabelClick?: base.EmitType<IMultiLevelLabelClickEventArgs>;
    /**
     * Triggers before the tooltip for series is rendered.
     * @event
     */
    tooltipRender?: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * Triggers on hovering the chart.
     * @event
     * @blazorProperty 'OnChartMouseMove'
     */
    chartMouseMove?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on clicking the chart.
     * @event
     * @blazorProperty 'OnChartMouseClick'
     */
    chartMouseClick?: 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 when cursor leaves the chart.
     * @event
     * @blazorProperty 'OnChartMouseLeave'
     */
    chartMouseLeave?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse down.
     * @event
     * @blazorProperty 'OnChartMouseDown'
     */
    chartMouseDown?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse up.
     * @event
     * @blazorProperty 'OnChartMouseUp'
     */
    chartMouseUp?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers after the drag selection is completed.
     * @event
     * @blazorProperty 'OnDragComplete'
     */
    dragComplete?: base.EmitType<IDragCompleteEventArgs>;
    /**
     * Triggers after the selection is completed.
     * @event
     * @blazorProperty 'OnSelectionComplete'
     */
    selectionComplete?: base.EmitType<ISelectionCompleteEventArgs>;
    /**
     * Triggers after the zoom selection is completed.
     * @event
     * @deprecated
     */
    zoomComplete?: base.EmitType<IZoomCompleteEventArgs>;
    /**
     * Triggers when start the scroll.
     * @event
     * @blazorProperty 'OnScrollStart'
     */
    scrollStart?: base.EmitType<IScrollEventArgs>;
    /**
     * Triggers after the scroll end.
     * @event
     * @blazorProperty 'OnScrollEnd'
     */
    scrollEnd?: base.EmitType<IScrollEventArgs>;
    /**
     * Triggers when change the scroll.
     * @event
     * @blazorProperty 'ScrollChanged'
     */
    scrollChanged?: base.EmitType<IScrollEventArgs>;
    /**
     * Triggers when the point drag start.
     * @event
     */
    dragStart?: base.EmitType<IDataEditingEventArgs>;
    /**
     * Triggers when the point is dragging.
     * @event
     */
    drag?: base.EmitType<IDataEditingEventArgs>;
    /**
     * Triggers when the point drag end.
     * @event
     */
    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 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;
}
/**
 * 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 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;
    /**
     * `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;
    /**
     * `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;
    /**
     * `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 to enable the zooming feature in the chart.
     */
    zoomSettings: ZoomSettingsModel;
    /**
     * 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;
    /**
     * 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;
    /**
     * 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: IndexesModel[];
    /**
     * Specifies whether a grouping separator should be used for a number.
     * @default false
     */
    useGroupingSeparator: 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;
    /**
     * 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
     * @blazorProperty 'Resized'
     */
    resized: base.EmitType<IResizeEventArgs>;
    /**
     * 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 after chart load.
     * @event
     * @blazorProperty 'Loaded'
     */
    loaded: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers before chart load.
     * @event
     * @deprecated
     */
    load: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers after animation is completed for the series.
     * @event
     * @blazorProperty 'OnAnimationComplete'
     */
    animationComplete: base.EmitType<IAnimationCompleteEventArgs>;
    /**
     * Triggers before the legend is rendered.
     * @event
     * @deprecated
     */
    legendRender: base.EmitType<ILegendRenderEventArgs>;
    /**
     * Triggers before the data label for series is rendered.
     * @event
     * @deprecated
     */
    textRender: base.EmitType<ITextRenderEventArgs>;
    /**
     * Triggers before each points for the series is rendered.
     * @event
     * @deprecated
     */
    pointRender: base.EmitType<IPointRenderEventArgs>;
    /**
     * Triggers before the series is rendered.
     * @event
     * @deprecated
     */
    seriesRender: base.EmitType<ISeriesRenderEventArgs>;
    /**
     * Triggers before each axis label is rendered.
     * @event
     * @deprecated
     */
    axisLabelRender: base.EmitType<IAxisLabelRenderEventArgs>;
    /**
     * Triggers before each axis range is rendered.
     * @event
     * @deprecated
     */
    axisRangeCalculated: base.EmitType<IAxisRangeCalculatedEventArgs>;
    /**
     * Triggers before each axis multi label is rendered.
     * @event
     * @deprecated
     */
    axisMultiLabelRender: base.EmitType<IAxisMultiLabelRenderEventArgs>;
    /**
     * Triggers after click on legend
     * @event
     */
    legendClick: base.EmitType<ILegendClickEventArgs>;
    /**
     * Triggers after click on multiLevelLabelClick
     * @event
     */
    multiLevelLabelClick: base.EmitType<IMultiLevelLabelClickEventArgs>;
    /**
     * Triggers before the tooltip for series is rendered.
     * @event
     */
    tooltipRender: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * Triggers on hovering the chart.
     * @event
     * @blazorProperty 'OnChartMouseMove'
     */
    chartMouseMove: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on clicking the chart.
     * @event
     * @blazorProperty 'OnChartMouseClick'
     */
    chartMouseClick: 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 when cursor leaves the chart.
     * @event
     * @blazorProperty 'OnChartMouseLeave'
     */
    chartMouseLeave: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse down.
     * @event
     * @blazorProperty 'OnChartMouseDown'
     */
    chartMouseDown: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse up.
     * @event
     * @blazorProperty 'OnChartMouseUp'
     */
    chartMouseUp: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers after the drag selection is completed.
     * @event
     * @blazorProperty 'OnDragComplete'
     */
    dragComplete: base.EmitType<IDragCompleteEventArgs>;
    /**
     * Triggers after the selection is completed.
     * @event
     * @blazorProperty 'OnSelectionComplete'
     */
    selectionComplete: base.EmitType<ISelectionCompleteEventArgs>;
    /**
     * Triggers after the zoom selection is completed.
     * @event
     * @deprecated
     */
    zoomComplete: base.EmitType<IZoomCompleteEventArgs>;
    /**
     * Triggers when start the scroll.
     * @event
     * @blazorProperty 'OnScrollStart'
     */
    scrollStart: base.EmitType<IScrollEventArgs>;
    /**
     * Triggers after the scroll end.
     * @event
     * @blazorProperty 'OnScrollEnd'
     */
    scrollEnd: base.EmitType<IScrollEventArgs>;
    /**
     * Triggers when change the scroll.
     * @event
     * @blazorProperty 'ScrollChanged'
     */
    scrollChanged: base.EmitType<IScrollEventArgs>;
    /**
     * Triggers when the point drag start.
     * @event
     */
    dragStart: base.EmitType<IDataEditingEventArgs>;
    /**
     * Triggers when the point is dragging.
     * @event
     */
    drag: base.EmitType<IDataEditingEventArgs>;
    /**
     * Triggers when the point drag end.
     * @event
     */
    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 */
    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 */
    disableTrackTooltip: boolean;
    /** @private */
    startMove: boolean;
    /** @private */
    yAxisElements: Element;
    /** @private */
    radius: number;
    /** @private */
    chartAreaType: string;
    /**
     * `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;
    /**
     * Touch object to unwire the touch event from element
     */
    private touchObject;
    /** @private */
    resizeBound: any;
    /** @private */
    longPressBound: any;
    /**
     * Constructor for creating the widget
     * @hidden
     */
    constructor(options?: ChartModel, element?: string | HTMLElement);
    /**
     * To manage persist chart data
     */
    private mergePersistChartData;
    /**
     * Initialize the event handler.
     */
    protected preRender(): void;
    private initPrivateVariable;
    /**
     * To Initialize the control rendering.
     */
    protected render(): void;
    /**
     * Gets the localized label by locale keyword.
     * @param  {string} key
     * @return {string}
     */
    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
     * @param redraw
     * @private
     */
    private renderAnnotation;
    private performSelection;
    private processData;
    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.
     * @return {void}.
     */
    addSeries(seriesCollection: SeriesModel[]): void;
    /**
     * To Remove series for the chart
     * @param index - Defines the series index to be remove in chart series
     * @return {void}
     */
    removeSeries(index: number): void;
    /**
     * To destroy the widget
     * @method destroy
     * @return {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.
     * @return {boolean}
     * @private
     */
    isOrientation(): boolean;
    /**
     * Handles the long press on chart.
     * @return {boolean}
     * @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.
     * @return {boolean}
     * @private
     */
    chartResize(e: Event): boolean;
    /**
     * Handles the mouse move.
     * @return {boolean}
     * @private
     */
    mouseMove(e: PointerEvent): boolean;
    /**
     * Handles the mouse leave.
     * @return {boolean}
     * @private
     */
    mouseLeave(e: PointerEvent): boolean;
    /**
     * Handles the mouse leave on chart.
     * @return {boolean}
     * @private
     */
    chartOnMouseLeave(e: PointerEvent | TouchEvent): boolean;
    /**
     * Handles the mouse click on chart.
     * @return {boolean}
     * @private
     */
    chartOnMouseClick(e: PointerEvent | TouchEvent): boolean;
    private triggerPointEvent;
    /**
     * Handles the mouse move on chart.
     * @return {boolean}
     * @private
     */
    chartOnMouseMove(e: PointerEvent | TouchEvent): boolean;
    private titleTooltip;
    private axisTooltip;
    private findAxisLabel;
    /**
     * Handles the mouse down on chart.
     * @return {boolean}
     * @private
     */
    chartOnMouseDown(e: PointerEvent): boolean;
    /**
     * Handles the mouse up.
     * @return {boolean}
     * @private
     */
    mouseEnd(e: PointerEvent): boolean;
    /**
     * Handles the mouse up.
     * @return {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
     * @return {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.
     * @return {boolean}
     * @private
     */
    refreshAxis(): void;
    private axisChange;
    /**
     * Get visible series by index
     */
    private getVisibleSeries;
    /**
     * Clear visible Axis labels
     */
    private clearVisibleAxisLabels;
    /**
     * 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.
     * @return {void}
     * @private
     */
    getLegendOptions(visibleSeriesCollection: Series[], chart: Chart): void;
    /** @private */
    getLegendBounds(availableSize: svgBase.Size, legendBounds: svgBase.Rect, legend: LegendSettingsModel): void;
    /** @private */
    getRenderPoint(legendOption: LegendOptions, start: ChartLocation, textPadding: number, prevLegend: LegendOptions, rect: svgBase.Rect, count: number, firstLegend: number): void;
    /** @private */
    LegendClick(seriesIndex: number): void;
    private redrawSeriesElements;
    private refreshSeries;
    /**
     * To show the tooltip for the trimmed text in legend.
     * @return {void}
     */
    click(event: Event | PointerEvent): void;
    /**
     * To check click position is within legend bounds
     */
    protected checkWithinBounds(pageX: number, pageY: number): void;
    /**
     * Get module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the Legend.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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'
     */
    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'
     */
    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'
     */
    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?: number | Date;
    /**
     * End value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    end?: 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?: number | Date;
    /**
     * repeatUntil value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatUntil?: number | Date;
    /**
     * isSegmented value of the strip line
     * @default false
     * @aspDefaultValueIgnore
     */
    isSegmented?: boolean;
    /**
     * segmentStart value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentStart?: number | Date;
    /**
     * segmentEnd value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentEnd?: 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'
     */
    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'
     */
    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'
     */
    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: number | Date;
    /**
     * End value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    end: 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: number | Date;
    /**
     * repeatUntil value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatUntil: number | Date;
    /**
     * isSegmented value of the strip line
     * @default false
     * @aspDefaultValueIgnore
     */
    isSegmented: boolean;
    /**
     * segmentStart value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentStart: number | Date;
    /**
     * segmentEnd value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentEnd: 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 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;
}
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;
}
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 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 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 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;
}
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;
}
export interface IPrintEventArgs extends IChartEventArgs {
    htmlContent: Element;
}
/** @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;
}
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;
}
/**
 * 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 IChartTooltipTemplate {
    /** point x */
    x?: object;
    /** point y */
    y?: number;
    /** point text */
    text?: string;
    /** point open value */
    open?: number;
    /** point close value */
    close?: number;
    /** point high value */
    high?: number;
    /** point low value */
    low?: number;
    /** point volume value */
    volume?: number;
}
//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.
     * @param type
     * @param fileName
     */
    export(type: ExportType, fileName: string, orientation?: pdfExport.PdfPageOrientation, controls?: (Chart | AccumulationChart | RangeNavigator | StockChart)[], width?: number, height?: number, isVertical?: boolean): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the chart.
     * @return {void}
     * @private
     */
    destroy(chart: Chart | AccumulationChart | RangeNavigator): 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.
     * @return {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    /**
     * To destroy the area series.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): void;
    /**
     * Get module name
     */
    protected getModuleName(): string;
    /**
     * Animates the series.
     * @param  {Series} series - Defines the series to animate.
     * @return {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.
     * @return {void}
     * @private
     */
    render(series: Series): void;
    /**
     * Animates the series.
     * @param  {Series} series - Defines the series to animate.
     * @return {void}
     */
    doAnimation(series: Series): void;
    /**
     * To destroy the bar series.
     * @return {void}
     * @private
     */
    protected destroy(chart: Chart): 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.
     * @return {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    /**
     * update the tip region fo box plot
     * @param series
     * @param point
     * @param sideBySideInfo
     */
    private updateTipRegion;
    /**
     * Update tip size to tip regions
     * @param series
     * @param point
     * @param region
     * @param isInverted
     */
    private updateTipSize;
    /**
     * Calculation for path direction performed here
     * @param point
     * @param series
     * @param median
     * @param average
     */
    getPathString(point: Points, series: Series, median: ChartLocation, average: ChartLocation): string;
    /**
     * Rendering for box and whisker append here.
     * @param series
     * @param point
     * @param rect
     * @param argsData
     * @param direction
     */
    renderBoxAndWhisker(series: Series, point: Points, rect: svgBase.Rect, argsData: IPointRenderEventArgs, direction: string, median: number): void;
    /**
     * To find the box plot values
     * @param yValues
     * @param point
     * @param mode
     */
    findBoxPlotValues(yValues: number[], point: Points, mode: BoxPlotMode): void;
    /**
     * to find the exclusive quartile values
     * @param yValues
     * @param count
     * @param percentile
     */
    private getExclusiveQuartileValue;
    /**
     * to find the inclusive quartile values
     * @param yValues
     * @param count
     * @param percentile
     */
    private getInclusiveQuartileValue;
    /**
     * To find the quartile values
     * @param yValues
     * @param count
     * @param lowerQuartile
     * @param upperQuartile
     */
    private getQuartileValues;
    /**
     * To find the min, max and outlier values
     * @param yValues
     * @param lowerQuartile
     * @param upperQuartile
     * @param minimum
     * @param maximum
     * @param outliers
     */
    private getMinMaxOutlier;
    /**
     * Animates the series.
     * @param  {Series} series - Defines the series to animate.
     * @return {void}
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the candle series.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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.
     * @return {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    /**
     * To destroy the Bubble.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * Animates the series.
     * @param  {Series} series - Defines the series to animate.
     * @return {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.
     * @return {void}
     * @private
     */
    render(series: Series): void;
    /**
     * Trigger point rendering event
     */
    protected triggerPointRenderEvent(series: Series, point: Points): IPointRenderEventArgs;
    /**
     * Find the color of the candle
     * @param series
     * @private
     */
    private getCandleColor;
    /**
     * Finds the path of the candle shape
     * @param Series
     * @private
     */
    getPathString(topRect: svgBase.Rect, midRect: svgBase.Rect, series: Series): string;
    /**
     * Draws the candle shape
     * @param series
     * @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.
     * @return {void}
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the candle series.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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;
    /**
     * 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;
    /**
     * 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;
}
/**
 * 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;
    /**
     * 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 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
     */
    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 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;
    /**
     * 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;
    /**
     * 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?: BorderModel;
    /**
     * The opacity of the series.
     * @default 1
     */
    opacity?: number;
    /**
     * The z order of the series.
     * @default 0
     */
    zOrder?: number;
    /**
     * 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
     * * 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
     * @default 'SeriesType'
     */
    legendShape?: LegendShape;
    /**
     * Custom style for the selected series or points.
     * @default null
     */
    selectionStyle?: 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
     */
    columnWidth?: 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;
    /**
     * 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;
    /**
     * 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;
}
/**
 *  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;
    /**
     * 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 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;
}
/**
 * Defines the behavior of the Trendlines
 */
export  class Trendline extends base.ChildProperty<Trendline> {
    /**
     * Defines the name of trendline
     * @default ''
     */
    name: string;
    /**
     * 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
     */
    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 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;
    /**
     * 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;
    /**
     * Process data for the series.
     * @hidden
     */
    processJsonData(): void;
    private pushData;
    /** @private */
    protected dataPoint(i: number, textMappingName: string, xName: string): Points;
    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.
     * @return {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 */
    seriesType: SeriesValueType;
    /** @private */
    sizeMax: number;
    /** @private */
    private recordsCount;
}
/**
 * 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;
    /**
     * 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: BorderModel;
    /**
     * The opacity of the series.
     * @default 1
     */
    opacity: number;
    /**
     * The z order of the series.
     * @default 0
     */
    zOrder: number;
    /**
     * 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
     * * 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
     * @default 'SeriesType'
     */
    legendShape: LegendShape;
    /**
     * Custom style for the selected series or points.
     * @default null
     */
    selectionStyle: 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
     */
    columnWidth: 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 */
    delayedAnimation: boolean;
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
    /**
     * Refresh the axis label.
     * @return {boolean}
     * @private
     */
    refreshAxisLabel(): void;
    /**
     * To get the series collection.
     * @return {void}
     * @private
     */
    findSeriesCollection(column: Column, row: Row, isStack: boolean): Series[];
    /**
     * To get the column type series.
     * @return {void}
     * @private
     */
    private rectSeriesInChart;
    /**
     * To calculate the stacked values.
     * @return {void}
     * @private
     */
    calculateStackedValue(isStacking100: boolean, chart: Chart): void;
    private calculateStackingValues;
    private findPercentageOfStacking;
    private findFrequencies;
    /** @private */
    renderSeries(chart: Chart): void;
    /**
     * To create seris element.
     * @return {void}
     * @private
     */
    createSeriesElements(chart: Chart): void;
    /**
     * To append the series.
     * @return {void}
     * @private
     */
    appendSeriesElement(element: Element, chart: Chart): void;
    /**
     * To perform animation for chart series.
     * @return {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.
     * @return {DoubleRange}
     * @private
     */
    protected getSideBySideInfo(series: Series): DoubleRange;
    /**
     * To get the rect values.
     * @return {svgBase.Rect}
     * @private
     */
    protected getRectangle(x1: number, y1: number, x2: number, y2: number, series: Series): svgBase.Rect;
    /**
     * To get the position of each series.
     * @return {void}
     * @private
     */
    private getSideBySidePositions;
    private findRectPosition;
    /**
     * Updates the symbollocation for points
     * @return void
     * @private
     */
    protected updateSymbolLocation(point: Points, rect: svgBase.Rect, series: Series): void;
    /**
     * Update the region for the point.
     * @return {void}
     * @private
     */
    protected updateXRegion(point: Points, rect: svgBase.Rect, series: Series): void;
    /**
     * Update the region for the point in bar series.
     * @return {void}
     * @private
     */
    protected updateYRegion(point: Points, rect: svgBase.Rect, series: Series): void;
    /**
     * To render the marker for the series.
     * @return {void}
     * @private
     */
    renderMarker(series: Series): void;
    /**
     * To trigger the point rendering event.
     * @return {void}
     * @private
     */
    protected triggerEvent(series: Series, point: Points, fill: string, border: BorderModel): IPointRenderEventArgs;
    /**
     * To draw the rectangle for points.
     * @return {void}
     * @private
     */
    protected drawRectangle(series: Series, point: Points, rect: svgBase.Rect, argsData: IPointRenderEventArgs): void;
    /**
     * To animate the series.
     * @return {void}
     * @private
     */
    animate(series: Series): void;
    /**
     * To animate the series.
     * @return {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.
     * @return {void}
     * @private
     */
    render(series: Series): void;
    /**
     * Animates the series.
     * @param  {Series} series - Defines the series to animate.
     * @return {void}
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the column series.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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.
     * @return {void}
     */
    render(series: Series, chart: Chart, dataLabel: DataLabelSettingsModel): void;
    /**
     * Render the data label template.
     * @return {void}
     * @private
     */
    private createDataLabelTemplate;
    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.
     * @return {void}
     */
    doDataLabelAnimation(series: Series, element?: Element): void;
    private getPosition;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the dataLabel for series.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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.
     * @return {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.
     * @return {void}
     */
    doErrorBarAnimation(series: Series): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the errorBar for series.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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.
     * @return {void}
     * @private
     */
    render(series: Series): void;
    /**
     * Updates the tick region
     */
    private updateTickRegion;
    /**
     * Trigger point rendering event
     */
    private triggerPointRenderEvent;
    /**
     * To draw the rectangle for points.
     * @return {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.
     * @return {void}
     */
    doAnimation(series: Series): void;
    /**
     * To destroy the column series.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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.
     * @return {void}
     * @private
     */
    render(series: Series): void;
    /**
     * To trigger the point rendering event.
     * @return {void}
     * @private
     */
    private triggerPointRenderEvent;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * Animates the series.
     * @param  {Series} series - Defines the series to animate.
     * @return {void}
     */
    doAnimation(series: Series): void;
    /**
     * To destroy the Hilo series.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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.
     * @return {void}
     * @private
     */
    render(series: Series): void;
    /**
     * To calculate bin interval for Histogram series.
     * @return number
     * @private
     */
    private calculateBinInterval;
    /**
     * Add data points for Histogram series.
     * @return {object[]}
     * @private
     */
    processInternalData(data: Object[], series: Series): Object[];
    /**
     * Render Normal Distribution for Histogram series.
     * @return {void}
     * @private
     */
    private renderNormalDistribution;
    /**
     * Animates the series.
     * @param  {Series} series - Defines the series to animate.
     * @return {void}
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the histogram series.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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.
     * @return {void}
     * @private
     */
    enableComplexProperty(series: Series): Points[];
    /**
     * To generate the line path direction
     * @param firstPoint
     * @param secondPoint
     * @param series
     * @param isInverted
     * @param getPointLocation
     * @param startPoint
     */
    getLineDirection(firstPoint: Points, secondPoint: Points, series: Series, isInverted: Boolean, getPointLocation: Function, startPoint: string): string;
    /**
     * To append the line path.
     * @return {void}
     * @private
     */
    appendLinePath(options: svgBase.PathOption, series: Series, clipRect: string): void;
    /**
     * To render the marker for the series.
     * @return {void}
     * @private
     */
    renderMarker(series: Series): void;
    /**
     * To do the progressive animation.
     * @return {void}
     * @private
     */
    doProgressiveAnimation(series: Series, option: AnimationModel): void;
    /**
     * To store the symbol location and region
     * @param point
     * @param series
     * @param isInverted
     * @param getLocation
     */
    storePointLocation(point: Points, series: Series, isInverted: boolean, getLocation: Function): void;
    /**
     * To do the linear animation.
     * @return {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.
     * @return {void}.
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    /**
     * Animates the series.
     * @param  {Series} series - Defines the series to animate.
     * @return {void}
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the line series.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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 drawTrackBall;
    /**
     * @hidden
     */
    removeHighlightedMarker(): 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.
     * @return {void}
     * @private
     */
    render(series: Series): void;
    private renderMarker;
    createElement(series: Series, redraw: boolean): void;
    private getRangeLowPoint;
    /**
     * Animates the marker.
     * @return {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.
     * @return {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    /**
     * To Store the path directions of the area
     */
    private generatePathOption;
    /**
     * To destroy the area series.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): void;
    /**
     * Get module name
     */
    protected getModuleName(): string;
    /**
     * Animates the series.
     * @param  {Series} series - Defines the series to animate.
     * @return {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 xValue
     * @param yValue
     * @param series
     * @param isInverted
     * @param getPointLocation
     * @param startPoint
     * @param startPath
     */
    getAreaPathDirection(xValue: number, yValue: number, series: Series, isInverted: boolean, getPointLocation: Function, startPoint: ChartLocation, startPath: string): string;
    /**
     * To Generate the empty point direction
     * @param firstPoint
     * @param secondPoint
     * @param series
     * @param isInverted
     * @param getPointLocation
     */
    getAreaEmptyDirection(firstPoint: ChartLocation, secondPoint: ChartLocation, series: Series, isInverted: boolean, getPointLocation: Function): string;
    /**
     * To set point color
     * @param points
     */
    setPointColor(currentPoint: Points, previous: Points, series: Series, isXSegment: boolean, segments: ChartSegmentModel[]): boolean;
    sortSegments(series: Series, chartSegments: ChartSegmentModel[]): ChartSegmentModel[];
    /**
     * Segment calculation performed here
     * @param series
     * @param options
     * @param chartSegments
     */
    applySegmentAxis(series: Series, options: svgBase.PathOption[], segments: ChartSegmentModel[]): void;
    private includeSegment;
    /**
     * To create clip rect for segment axis
     * @param startValue
     * @param endValue
     * @param series
     * @param index
     * @param isX
     * @param chart
     */
    createClipRect(startValue: number, endValue: number, series: Series, index: number, isX: boolean): string;
    /**
     * To get exact value from segment value
     * @param segmentValue
     * @param axis
     * @param 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.
     * @return {void}.
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    /**
     * Animates the series.
     * @param  {Series} series - Defines the series to animate.
     * @return {void}
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the line series.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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.
     * @return {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.
     * @return {void}
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the pareto series.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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.
     * @return {void}.
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, inverted: boolean): void;
    /**
     * Render Column DrawType.
     * @return {void}.
     * @private
     */
    columnDrawTypeRender(series: Series, xAxis: Axis, yAxis: Axis): void;
    /**
     * To trigger the point rendering event.
     * @return {void}
     * @private
     */
    triggerEvent(chart: Chart, series: Series, point: Points): IPointRenderEventArgs;
    /** get position for column drawtypes
     * @return {void}.
     * @private
     */
    getSeriesPosition(series: Series): void;
    /**
     * Animates the series.
     * @param  {Series} series - Defines the series to animate.
     * @return {void}
     */
    doAnimation(series: Series): void;
    /**
     * To do the Polar Radar draw type column animation.
     * @return {void}
     * @private
     */
    doPolarRadarAnimation(animateElement: Element, delay: number, duration: number, series: Series): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the polar series.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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.
     * @return {void}.
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, inverted: boolean): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the radar series.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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.
     * @return {void}.
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, inverted: boolean): void;
    /**
     * path for rendering the low points
     * @return {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.
     * @return {void}
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the line series.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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.
     * @return {void}
     * @private
     */
    render(series: Series): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * Animates the series.
     * @param  {Series} series - Defines the series to animate.
     * @return {void}
     */
    doAnimation(series: Series): void;
    /**
     * To destroy the range column series.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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.
     * @return {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    /**
     * To append scatter element
     * @param series
     * @param point
     * @param argsData
     * @param startLocation
     */
    private refresh;
    /**
     * Animates the series.
     * @param  {Series} series - Defines the series to animate.
     * @return {void}
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the scatter.
     * @return {void}
     */
    destroy(chart: Chart): 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.
     * @return {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the spline.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): void;
}
//node_modules/@syncfusion/ej2-charts/src/chart/series/spline-base.d.ts
/**
 * render Line series
 */
export  class SplineBase extends LineBase {
    private splinePoints;
    /** @private */
    constructor(chartModule?: Chart);
    /**
     * To find the control points for spline.
     * @return {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): Points[];
    /**
     * To find the natural spline.
     * @return {void}
     * @private
     */
    findSplineCoefficients(points: Points[], series: Series): number[];
    /**
     * To find the control points for spline.
     * @return {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.
     * @return {void}
     */
    doAnimation(series: Series): 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.
     * @return {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the spline.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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.
     * @return {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    /**
     * Animates the series.
     * @param  {Series} series - Defines the series to animate.
     * @return {void}
     */
    doAnimation(series: Series): void;
    /**
     * To destroy the stacking area.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To find previous visible series
     */
    private getPreviousSeries;
}
//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.
     * @return {void}
     * @private
     */
    render(series: Series): void;
    /**
     * To destroy the stacking bar.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * Animates the series.
     * @param  {Series} series - Defines the series to animate.
     * @return {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.
     * @return {void}
     * @private
     */
    render(series: Series): void;
    /**
     * Animates the series.
     * @param  {Series} series - Defines the series to animate.
     * @return {void}
     */
    doAnimation(series: Series): void;
    /**
     * To destroy the stacking column.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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.
     * @return {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    /**
     * Animates the series.
     * @param  {Series} series - Defines the series to animate.
     * @return {void}
     */
    doAnimation(series: Series): void;
    /**
     * To destroy the stacking line.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
}
//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.
     * @return {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    /**
     * Animates the series.
     * @param  {Series} series - Defines the series to animate.
     * @return {void}
     */
    doAnimation(series: Series): void;
    /**
     * To destroy the step Area series.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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.
     * @return {void}
     * @private
     */
    render(series: Series, xAxis: Axis, yAxis: Axis, isInverted: boolean): void;
    /**
     * Animates the series.
     * @param  {Series} series - Defines the series to animate.
     * @return {void}
     */
    doAnimation(series: Series): void;
    /**
     * To destroy the step line series.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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.
     * @return {void}
     * @private
     */
    render(series: Series): void;
    /**
     * To check intermediateSumIndex in waterfall series.
     * @return boolean
     * @private
     */
    private isIntermediateSum;
    /**
     * To check sumIndex in waterfall series.
     * @return boolean
     * @private
     */
    private isSumIndex;
    /**
     * To trigger the point rendering event for waterfall series.
     * @return IPointRenderEventArgs
     * @private
     */
    private triggerPointRenderEvent;
    /**
     * Add sumIndex and intermediateSumIndex data.
     * @return {object[]}
     * @private
     */
    processInternalData(json: Object[], series: Series): Object[];
    /**
     * Animates the series.
     * @param  {Series} series - Defines the series to animate.
     * @return {void}
     */
    doAnimation(series: Series): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the waterfall series.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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, chart: Chart): void;
    /**
     *  Calculates the Accumulation Distribution values
     * @private
     */
    private calculateADPoints;
    /**
     * To destroy the Accumulation Distribution Technical Indicator.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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, indicator?: TechnicalIndicator): 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.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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, chart: Chart): 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(chart: Chart): 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.
     * @return {boolean}
     * @private
     */
    private longPress;
    /**
     * Renders the crosshair.
     * @return {void}
     */
    crosshair(): void;
    private renderCrosshairLine;
    private drawCrosshairLine;
    private renderAxisTooltip;
    private getAxisText;
    private tooltipLocation;
    private stopAnimation;
    private progressAnimation;
    /**
     * Removes the crosshair on mouse leave.
     * @return {void}
     * @private
     */
    removeCrosshair(duration: number): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the crosshair.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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;
    /**
     * 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.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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;
    private isSeriesMode;
    private isdrawRect;
    private resizing;
    /** @private */
    rectPoints: svgBase.Rect;
    private closeIconId;
    private closeIcon;
    private draggedRectGroup;
    private multiRectGroup;
    private draggedRect;
    private lassoPath;
    /** @private */
    selectedDataIndexes: Indexes[];
    multiDataIndexes: Points[][];
    pathIndex: number;
    seriesIndex: number;
    private 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;
    /**
     * 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.
     * @return {void}
     */
    invokeSelection(chart: Chart): void;
    private generateStyle;
    private selectDataIndex;
    private getElementByIndex;
    private getClusterElements;
    private findElements;
    /**
     * To find the selected element.
     * @return {void}
     * @private
     */
    calculateSelectedElements(event: Event): void;
    private performSelection;
    private selectionComplete;
    private selection;
    private clusterSelection;
    private removeMultiSelectEelments;
    private blurEffect;
    private checkSelectionElements;
    private applyStyles;
    private getSelectionClass;
    private removeStyles;
    private addOrRemoveIndex;
    private toEquals;
    /**
     * To redraw the selected points.
     * @return {void}
     * @private
     */
    redrawSelection(chart: Chart, oldMode: SelectionMode): void;
    /** @private */
    legendSelection(chart: Chart, series: number): void;
    private getSeriesElements;
    private indexFinder;
    /**
     * Drag selection that returns the selected data.
     * @return {void}
     * @private
     */
    calculateDragSelectedElements(chart: Chart, dragRect: svgBase.Rect, isClose?: boolean): void;
    private removeOffset;
    private isPointSelect;
    /**
     * Method to draw dragging rect.
     * @return {void}
     * @private
     */
    drawDraggingRect(chart: Chart, dragRect: svgBase.Rect, target?: Element): void;
    /**
     * To get drag selected group element index from its id
     * @param id
     */
    private getIndex;
    private createCloseButton;
    /**
     * Method to remove dragged element.
     * @return {void}
     * @private
     */
    removeDraggedElements(chart: Chart, event: Event): void;
    /**
     * Method to resize the drag rect.
     * @return {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.
     * @return {void}
     * @private
     */
    draggedRectMoved(chart: Chart, grabbedPoint: svgBase.Rect, doDrawing?: boolean, target?: Element): void;
    /**
     * To complete the selection.
     * @return {void}
     * @private
     */
    completeSelection(e: Event): 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;
    private getPath;
    private pointChecking;
    /**
     * Get module name.
     * @private
     */
    getModuleName(): string;
    /**
     * To destroy the selection.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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.
     * @return {boolean}
     * @private
     */
    private longPress;
    /**
     * Renders the tooltip.
     * @return {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[]): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the tooltip.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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 hoveredID;
    private selectedID;
    private iconRectOverFill;
    private iconRectSelectionFill;
    /** @private */
    constructor(chart: Chart);
    /**
     * To create the pan button.
     * @return {void}
     * @private
     */
    createPanButton(childElement: Element, parentElement: Element, chart: Chart): void;
    /**
     * To create the zoom button.
     * @return {void}
     * @private
     */
    createZoomButton(childElement: Element, parentElement: Element, chart: Chart): void;
    /**
     * To create the ZoomIn button.
     * @return {void}
     * @private
     */
    createZoomInButton(childElement: Element, parentElement: Element, chart: Chart): void;
    /**
     * To create the ZoomOut button.
     * @return {void}
     * @private
     */
    createZoomOutButton(childElement: Element, parentElement: Element, chart: Chart): void;
    /**
     * To create the Reset button.
     * @return {void}
     * @private
     */
    createResetButton(childElement: Element, parentElement: Element, chart: Chart, isDevice: Boolean): void;
    /**
     * To bind events.
     * @return {void}
     * @private
     */
    wireEvents(element: Element, process: Function): void;
    /**
     * To show tooltip.
     * @return {void}
     * @private
     */
    private showTooltip;
    /** @private */
    removeTooltip(): void;
    /** @private */
    reset(): boolean;
    private zoomIn;
    private zoomOut;
    private zoom;
    /** @private */
    pan(): boolean;
    private zoomInOutCalculation;
    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;
    /**
     * Constructor for Zooming module.
     * @private.
     */
    constructor(chart: Chart);
    /**
     * Function that handles the Rectangular zooming.
     * @return {void}
     */
    renderZooming(e: PointerEvent | TouchEvent, chart: Chart, isTouch: boolean): void;
    private drawZoomingRectangle;
    private doPan;
    /**
     * Redraw the chart on zooming.
     * @return {void}
     * @private
     */
    performZoomRedraw(chart: Chart): void;
    private refreshAxis;
    private doZoom;
    /**
     * Function that handles the Mouse wheel zooming.
     * @return {void}
     * @private
     */
    performMouseWheelZooming(e: WheelEvent, mouseX: number, mouseY: number, chart: Chart, axes: AxisModel[]): void;
    /**
     * Function that handles the Pinch zooming.
     * @return {void}
     * @private
     */
    performPinchZooming(e: TouchEvent, chart: Chart): boolean;
    private calculatePinchZoomFactor;
    private setTransform;
    private calculateZoomAxesRange;
    private showZoomingToolkit;
    /**
     * To the show the zooming toolkit.
     * @return {void}
     * @private
     */
    applyZoomToolkit(chart: Chart, axes: AxisModel[]): void;
    /**
     * Return boolean property to show zooming toolkit.
     * @return {void}
     * @private
     */
    isAxisZoomed(axes: AxisModel[]): boolean;
    private zoomToolkitMove;
    private zoomToolkitLeave;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    /**
     * Handles the mouse wheel on chart.
     * @return {boolean}
     * @private
     */
    chartMouseWheel(e: WheelEvent): boolean;
    /**
     * @hidden
     */
    private mouseMoveHandler;
    /**
     * @hidden
     */
    private mouseDownHandler;
    /**
     * @hidden
     */
    private mouseUpHandler;
    /**
     * @hidden
     */
    private mouseCancelHandler;
    /**
     * Handles the touch pointer.
     * @return {boolean}
     * @private
     */
    addTouchPointer(touchList: ITouches[], e: PointerEvent, touches: TouchList): ITouches[];
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the zooming.
     * @return {void}
     * @private
     */
    destroy(chart: Chart): 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.
 * * 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 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 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';
/**
 * 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.
 */
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 HorizontalLine. */
'HorizontalLine' | 
/** Render a VerticalLine. */
'VerticalLine' | 
/** Render a Pentagon. */
'Pentagon' | 
/** Render a InvertedTriangle. */
'InvertedTriangle' | 
/** Render a legend shape based on series type. */
'SeriesType';
/**
 * 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. */
'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 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';
/**
 *  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 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';
//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;
    /**
     * 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 find drag region for column and bar series
     * @param x
     * @param y
     * @param point
     * @param rect
     * @param series
     */
    private rectRegion;
    /**
     * @private
     */
    getClosest(series: Series, value: number): number;
    getClosestX(chart: Chart, series: Series): PointData;
}
//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
 */ 
//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;
    /**
     * 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 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;
    /**
     * Padding between the legend shape and text.
     * @default 5
     */
    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;
    /**
     * Description for legends.
     * @default null
     */
    description?: string;
    /**
     * TabIndex value for the legend.
     * @default 3
     */
    tabIndex?: number;
}
/**
 * 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;
    /**
     * 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 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;
    /**
     * Padding between the legend shape and text.
     * @default 5
     */
    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;
    /**
     * Description for legends.
     * @default null
     */
    description: string;
    /**
     * TabIndex value for the legend.
     * @default 3
     */
    tabIndex: number;
}
/**
 * Legend base class for Chart and Accumulation chart.
 * @private
 */
export  class BaseLegend {
    protected chart: Chart | AccumulationChart;
    protected legend: LegendSettingsModel;
    protected maxItemHeight: number;
    protected isPaging: boolean;
    private clipPathHeight;
    totalPages: number;
    protected isVertical: boolean;
    private rowCount;
    private columnCount;
    private pageButtonSize;
    protected pageXCollections: number[];
    protected maxColumns: number;
    private isTrimmed;
    maxWidth: number;
    protected legendID: string;
    private clipRect;
    private legendTranslateGroup;
    protected currentPage: number;
    private isChartControl;
    protected library: Legend | AccumulationLegend;
    /**  @private */
    position: LegendPosition;
    /**
     * Gets the legend bounds in chart.
     * @private
     */
    legendBounds: svgBase.Rect;
    /** @private */
    legendCollections: LegendOptions[];
    /** @private */
    clearTooltip: number;
    protected pagingClipRect: RectOption;
    protected currentPageNumber: number;
    protected legendRegions: ILegendRegions[];
    protected pagingRegions: svgBase.Rect[];
    protected totalNoOfPages: number;
    /** @private */
    calTotalPage: boolean;
    /**
     * Constructor for the dateTime module.
     * @private
     */
    constructor(chart?: Chart | AccumulationChart);
    /**
     * Calculate the bounds for the legends.
     * @return {void}
     * @private
     */
    calculateLegendBounds(rect: svgBase.Rect, availableSize: svgBase.Size): void;
    /**
     * To find legend position based on available size for chart and accumulation chart
     */
    private getPosition;
    /**
     * To set bounds for chart and accumulation chart
     */
    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
     */
    private getLocation;
    /**
     * To find legend alignment for chart and accumulation chart
     */
    private alignLegend;
    /**
     * Renders the legend.
     * @return {void}
     * @private
     */
    renderLegend(chart: Chart | AccumulationChart, legend: LegendSettingsModel, legendBounds: svgBase.Rect, redraw?: boolean): void;
    /**
     * To find first valid legend text index for chart and accumulation chart
     */
    private findFirstLegendPosition;
    /**
     * To create legend rendering elements for chart and accumulation chart
     */
    private createLegendElements;
    /**
     * To render legend symbols for chart and accumulation chart
     */
    protected renderSymbol(legendOption: LegendOptions, group: Element, i: number): void;
    /**
     * To render legend text for chart and accumulation chart
     */
    protected renderText(chart: Chart | AccumulationChart, legendOption: LegendOptions, group: Element, textOptions: svgBase.TextOption, i: number): void;
    /**
     * To render legend paging elements for chart and accumulation chart
     */
    private renderPagingElements;
    /**
     * To translate legend pages for chart and accumulation chart
     */
    protected translatePage(pagingText: Element, page: number, pageNumber: number): number;
    /**
     * To change legend pages for chart and accumulation chart
     */
    protected changePage(event: Event, pageUp: boolean): void;
    /**
     * To find legend elements id based on chart or accumulation chart
     * @private
     */
    generateId(option: LegendOptions, prefix: string, count: number): string;
    /**
     * To show or hide trimmed text tooltip for legend.
     * @return {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;
    pointIndex?: number;
    seriesIndex?: number;
    markerShape?: ChartShape;
    markerVisibility?: boolean;
    constructor(text: string, fill: string, shape: LegendShape, visible: boolean, type: ChartSeriesType | AccumulationType, 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;
}
/**
 * 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 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;
    /**
     * 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;
}
/**
 * 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 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;
    /**
     * 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 seriesRender: string;
/** @private */
export  const axisLabelRender: 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 pointClick: 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 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;
//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
     * @private
     */
    constructor(dataSource?: Object | data.DataManager, query?: data.Query);
    /**
     * The function used to initialize dataManager and query
     * @return {void}
     * @private
     */
    initDataManager(dataSource: Object | data.DataManager, query: data.Query): void;
    /**
     * The function used to generate updated data.Query from chart model
     * @return {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
     * @return {void}
     * @private
     */
    getData(query: 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;
}
//node_modules/@syncfusion/ej2-charts/src/common/model/theme.d.ts
/**
 * Specifies Chart Themes
 */
export  namespace Theme {
    /** @private */
    let axisLabelFont: IFontMapping;
    /** @private */
    let axisTitleFont: IFontMapping;
    /** @private */
    let chartTitleFont: IFontMapping;
    /** @private */
    let chartSubTitleFont: IFontMapping;
    /** @private */
    let crosshairLabelFont: IFontMapping;
    /** @private */
    let tooltipLabelFont: IFontMapping;
    /** @private */
    let legendLabelFont: IFontMapping;
    /** @private */
    let stripLineLabelFont: IFontMapping;
    /** @private */
    let stockEventFont: IFontMapping;
}
/** @private */
export  function getSeriesColor(theme: ChartTheme | AccumulationTheme): string[];
/** @private */
export  function getThemeColor(theme: ChartTheme | AccumulationTheme): 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
     */
    setControlValues(control: RangeNavigator | StockChart): void;
    /**
     *  To initialize the period selector properties
     */
    appendSelector(options: ISelectorRenderArgs, x?: number): void;
    /**
     * renderSelector div
     * @param control
     */
    renderSelectorElement(control?: RangeNavigator, options?: ISelectorRenderArgs, x?: number): void;
    /**
     * renderSelector elements
     */
    renderSelector(): void;
    private updateCustomElement;
    /**
     * To set and deselect the acrive style
     * @param buttons
     */
    private setSelectedStyle;
    /**
     * Button click handling
     */
    private buttonClick;
    /**
     *
     * @param type updatedRange for selector
     * @param end
     * @param interval
     */
    changedRange(type: RangeIntervalType, end: number, interval: number): Date;
    /**
     * Get module name
     */
    protected getModuleName(): string;
    /**
     * To destroy the period selector.
     * @return {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-charts/src/common/scrollbar/scrollbar-elements.d.ts
/**
 * Create scrollbar svg.
 * @return {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
     */
    constructor(chart: Chart);
    /**
     * Render scrollbar elements.
     * @return {void}
     * @private
     */
    renderElements(scroll: ScrollBar, renderer: svgBase.SvgRenderer): Element;
    /**
     * Method to render back rectangle of scrollbar
     * @param scroll
     */
    private backRect;
    /**
     * Method to render arrows
     * @param scroll
     */
    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
     */
    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(e: PointerEvent): void;
    calculateMouseWheelRange(scrollThumbX: number, scrollThumbWidth: number): IScrollEventArgs;
    /**
     * Range calculation for lazy loading
     */
    calculateLazyRange(scrollThumbX: number, scrollThumbWidth: number, thumbMove?: string): IScrollEventArgs;
    /**
     * Get start and end values
     */
    private getStartEnd;
    /**
     * To render scroll bar
     * @private
     */
    render(isScrollExist: boolean): Element;
    /**
     * Theming for scrollabr
     */
    private getTheme;
    /**
     * Method to remove existing scrollbar
     */
    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
     */
    private getDefaults;
    /**
     * Lazy load default values
     */
    getLazyDefaults(axis: Axis): void;
    /**
     * Method to get log range
     */
    getLogRange(axis: Axis): ScrollbarSettingsRangeModel;
    /**
     * Method for injecting scrollbar module
     * @param axis
     * @param component
     */
    injectTo(axis: Axis, component: Chart): void;
    /**
     * Method to destroy scrollbar
     */
    destroy(): void;
    /**
     * Method to get scrollbar module name
     */
    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 {
    protected styleId: string;
    protected unselected: string;
    protected control: Chart | AccumulationChart;
    constructor(control: Chart | AccumulationChart);
    /**
     * To create selection styles for series
     */
    protected seriesStyles(): void;
    /**
     * To concat indexes
     */
    protected concatIndexes(userIndexes: IndexesModel[], localIndexes: Indexes[]): Indexes[];
    /**
     * Selected points series visibility checking on legend click
     */
    protected checkVisibility(selectedIndexes: Indexes[]): boolean;
    /**
     * To add svg element style class
     * @private
     */
    addSvgClass(element: Element, className: string): void;
    /**
     * To remove svg element style class
     * @private
     */
    removeSvgClass(element: Element, className: string): void;
    /**
     * To get children from parent element
     */
    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 */
    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.
     * @return {void}
     * @private
     */
    getTooltipElement(isTooltip: boolean): HTMLDivElement;
    createElement(): HTMLDivElement;
    pushData(data: PointData | AccPointData, isFirst: boolean, tooltipDiv: HTMLDivElement, isChart: boolean): boolean;
    removeHighlight(chart: Chart | AccumulationChart): 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, extraPoints?: PointData[], templatePoint?: Points | AccPoints): void;
    private findPalette;
    private findColor;
    updatePreviousPoint(extraPoints: PointData[]): void;
    fadeOut(data: PointData[], chart: Chart | AccumulationChart): void;
    removeHighlightedMarker(data: PointData[]): void;
    removeText(): void;
    stopAnimation(): void;
    /**
     * Removes the tooltip on mouse leave.
     * @return {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';
//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);
    /**
     * 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)[], width?: number, height?: number, isVertical?: boolean): void;
    /**
     * 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
     */
    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
 * @param  {string} fields
 * @param  {boolean} isDescending
 * @returns Object
 */
export  function sort(data: Object[], fields: string[], isDescending?: boolean): Object[];
/** @private */
export  function isBreakLabel(label: string): boolean;
/** @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): 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 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 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): 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 currentTime
 * @param startValue
 * @param endValue
 * @param duration
 * @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 to be animated
 * @param direction current direction of the path
 * @param previousDirection previous direction of the path
 */
export  function pathAnimation(element: Element, direction: string, redraw: boolean, previousDirection?: string, animateDuration?: number): void;
/**
 * To append the clip rect element
 * @param redraw
 * @param options
 * @param renderer
 * @param clipPath
 */
export  function appendClipElement(redraw: boolean, options: svgBase.BaseAttibutes, renderer: svgBase.SvgRenderer, clipPath?: string): Element;
/**
 * Triggers the event.
 * @return {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.
 * @return {boolean}
 * @private
 */
export  function setRange(axis: Axis): boolean;
/**
 * Calculate desired interval for the axis.
 * @return {void}
 * @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): Element;
/** @private */
export  function calculateShapes(location: ChartLocation, size: svgBase.Size, shape: string, options: svgBase.PathOption, url: string): 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 createTemplate(childElement: HTMLElement, pointIndex: number, content: string, chart: Chart | AccumulationChart | RangeNavigator, point?: Points | AccPoints, series?: Series | AccumulationSeries): HTMLElement;
/** @private */
export  function getFontStyle(font: FontModel): string;
/** @private */
export  function measureElementRect(element: HTMLElement, redraw?: 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, series?: Series): ChartLocation;
/** @private */
export  function appendElement(child: Element, parent: Element, redraw?: boolean, animate?: boolean, x?: string, y?: string): void;
/**
 * Method to append child element
 * @param parent
 * @param childElement
 * @param isReplace
 */
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;
/**
 * To trim the line break label
 * @param maxWidth
 * @param text
 * @param font
 */
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): Element;
/**
 * Method to calculate the width and height of the chart
 */
export  function calculateSize(chart: Chart | AccumulationChart | RangeNavigator | StockChart): void;
export  function createSvg(chart: Chart | AccumulationChart | RangeNavigator): void;
/**
 * To calculate chart title and height
 * @param title
 * @param style
 * @param width
 */
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 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 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 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;
    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[];
}
//node_modules/@syncfusion/ej2-charts/src/components.d.ts
/**
 * Export Chart, Accumulation, Smithchart, Sparkline and Range Navigator
 */
//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;
}
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;
    /**
     * 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[];
    /**
     * 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
     * @deprecated
     */
    load?: base.EmitType<IRangeLoadedEventArgs>;
    /**
     * Triggers after the range navigator rendering
     * @event
     * @blazorProperty 'Loaded'
     */
    loaded?: base.EmitType<IRangeLoadedEventArgs>;
    /**
     * Triggers after the range navigator resized
     * @event
     * @blazorProperty 'Resized'
     */
    resized?: base.EmitType<IResizeRangeNavigatorEventArgs>;
    /**
     * Triggers before the label rendering
     * @event
     * @deprecated
     */
    labelRender?: base.EmitType<ILabelRenderEventsArgs>;
    /**
     * Triggers after change the slider.
     * @event
     * @blazorProperty 'Changed'
     */
    changed?: base.EmitType<IChangedEventArgs>;
    /**
     * Triggers before the tooltip for series is rendered.
     * @event
     * @deprecated
     */
    tooltipRender?: base.EmitType<IRangeTooltipRenderEventArgs>;
    /**
     * Triggers before the range navigator selector rendering
     * @event
     * @deprecated
     */
    selectorRender?: base.EmitType<IRangeSelectorRenderEventArgs>;
    /**
     * Triggers before the prints gets started.
     * @event
     * @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;
    /**
     * 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[];
    /**
     * 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
     * @deprecated
     */
    load: base.EmitType<IRangeLoadedEventArgs>;
    /**
     * Triggers after the range navigator rendering
     * @event
     * @blazorProperty 'Loaded'
     */
    loaded: base.EmitType<IRangeLoadedEventArgs>;
    /**
     * Triggers after the range navigator resized
     * @event
     * @blazorProperty 'Resized'
     */
    resized: base.EmitType<IResizeRangeNavigatorEventArgs>;
    /**
     * Triggers before the label rendering
     * @event
     * @deprecated
     */
    labelRender: base.EmitType<ILabelRenderEventsArgs>;
    /**
     * Triggers after change the slider.
     * @event
     * @blazorProperty 'Changed'
     */
    changed: base.EmitType<IChangedEventArgs>;
    /**
     * Triggers before the tooltip for series is rendered.
     * @event
     * @deprecated
     */
    tooltipRender: base.EmitType<IRangeTooltipRenderEventArgs>;
    /**
     * Triggers before the range navigator selector rendering
     * @event
     * @deprecated
     */
    selectorRender: base.EmitType<IRangeSelectorRenderEventArgs>;
    /**
     * Triggers before the prints gets started.
     * @event
     * @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(): 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.
     * @return {boolean}
     * @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.
     * @return {boolean}
     * @private
     */
    rangeResize(e: Event): boolean;
    /**
     * Handles the mouse move.
     * @return {boolean}
     * @private
     */
    mouseMove(e: PointerEvent): boolean;
    /**
     * Handles the mouse leave.
     * @return {boolean}
     * @private
     */
    mouseLeave(e: PointerEvent): boolean;
    /**
     * Handles the mouse click on range navigator.
     * @return {boolean}
     * @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.
     * @param type
     * @param fileName
     */
    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.
     * @return {boolean}
     * @private
     */
    rangeOnMouseDown(e: PointerEvent): boolean;
    /**
     * Handles the mouse up.
     * @return {boolean}
     * @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 newProp
     * @param oldProp
     */
    onPropertyChanged(newProp: RangeNavigatorModel, oldProp: RangeNavigatorModel): void;
    /**
     * To provide the array of modules needed for control rendering
     * @return {base.ModuleDeclaration[]}
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * To get the module name of the widget
     */
    getModuleName(): string;
    /**
     * To destroy the widget
     * @method destroy
     * @return {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;
    private yMin;
    private yMax;
    private yAxis;
    xAxis: Axis;
    private seriesLength;
    private chartGroup;
    constructor(range: RangeNavigator);
    /**
     * To render light weight and data manager process
     * @param control
     */
    renderChart(control: RangeNavigator): void;
    private processDataSource;
    /**
     * data manager process calculated here
     * @param e
     */
    private dataManagerSuccess;
    /**
     * Process JSON data from data source
     * @param control
     * @param len
     */
    private processJsonData;
    private processXAxis;
    /**
     * Process yAxis for range navigator
     * @param control
     */
    private processYAxis;
    /**
     * Process Light weight control
     * @param control
     * @private
     */
    renderSeries(control: RangeNavigator): void;
    /**
     * Append series elements in element
     */
    appendSeriesElements(control: RangeNavigator): void;
    private createSeriesElement;
    private calculateGroupingBounds;
    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 type
     */
    private getSecondaryLabelType;
    /**
     * To find labels for date time axis
     * @param axis
     */
    private findAxisLabels;
    /**
     * To find date time formats for Quarter and week interval type
     * @param text
     * @param axis
     * @param index
     */
    private dateFormats;
    /**
     * To find the y co-ordinate for axis labels
     * @param control - rangeNavigator
     * @param 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 for the lables placed
     * @param pointY y co-ordinate for axis labels
     * @param id id for the axis elements
     * @param control range navigator
     * @param 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
     * @param control
     */
    private findSuitableFormat;
    /**
     * Alignment position for secondary level labels in date time axis
     * @param axis
     * @param 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;
    /** @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 range
     */
    render(range: RangeNavigator): void;
    /**
     * Thumb creation performed
     * @param render
     * @param bounds
     * @param parent
     * @param id
     */
    createThump(render: svgBase.SvgRenderer, bounds: svgBase.Rect, parent: Element, id: string, sliderGroup?: Element): void;
    /**
     * Set slider value for range navigator
     * @param start
     * @param end
     */
    setSlider(start: number, end: number, trigger: boolean, showTooltip: boolean): void;
    /**
     * Trigger changed event
     * @param range
     */
    private triggerEvent;
    /**
     * @hidden
     */
    private addEventListener;
    /**
     * @hidden
     */
    private removeEventListener;
    /**
     * Move move handler perfomed here
     * @hidden
     * @param e
     */
    private mouseMoveHandler;
    /**
     * To get the range value
     * @param x
     */
    private getRangeValue;
    /**
     * Moused down handler for slider perform here
     * @param e
     */
    private mouseDownHandler;
    /**
     * To get the current slider element
     * @param id
     */
    private getCurrentSlider;
    /**
     * Mouse up handler performed here
     * @param e
     */
    private mouseUpHandler;
    /**
     * Allow Snapping perfomed here
     * @param control
     * @param start
     * @param end
     */
    private setAllowSnapping;
    /**
     * Animation Calculation for slider navigation
     * @param start
     * @param end
     */
    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
     */
    renderLeftTooltip(rangeSlider: RangeSlider): void;
    /**
     * get the content size
     * @param value
     */
    private getContentSize;
    /**
     * Right tooltip method called here
     * @param rangeSlider
     */
    renderRightTooltip(rangeSlider: RangeSlider): void;
    /**
     * Tooltip element creation
     * @param id
     */
    private createElement;
    /**
     * Tooltip render called here
     * @param bounds
     * @param parent
     * @param pointX
     * @param value
     */
    private renderTooltip;
    /**
     * Tooltip content processed here
     * @param value
     */
    private getTooltipContent;
    /**
     * Fadeout animation performed here
     */
    private fadeOutTooltip;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the tooltip.
     * @return {void}
     * @private
     */
    destroy(chart: RangeNavigator): 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 */
    let 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;
}
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;
}
/**
 * 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;
}
/** @private */
export interface ISmithchartFontMapping {
    size?: string;
    color?: string;
    fontWeight?: string;
    fontStyle?: string;
    fontFamily?: 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 */
    let smithchartTitleFont: ISmithchartFontMapping;
    /** @private */
    let smithchartSubtitleFont: ISmithchartFontMapping;
    /** @private */
    let dataLabelFont: ISmithchartFontMapping;
    /** @private */
    let legendLabelFont$: ISmithchartFontMapping;
}
/** @private */
export  function getSeriesColor(theme: SmithchartTheme): string[];
/** @private */
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 margin;
    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?: { resistance: number,  reactance: number}[];
    /**
 * resistance name for dataSource
 * @default ''
 */
    resistance?: string;
    /**
 * reactance name for dataSource
 * @default ''
 */
    reactance?: 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: {
        resistance: number;
        reactance: number;
    }[];
    /**
     * resistance name for dataSource
     * @default ''
     */
    resistance: string;
    /**
     * reactance name for dataSource
     * @default ''
     */
    reactance: 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.
     */
    protected getModuleName(): string;
    /**
     * To destroy the legend.
     * @return {void}
     * @private
     */
    destroy(smithchart: Smithchart): 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
     * @blazorProperty 'OnPrint'
     */
    beforePrint?: base.EmitType<ISmithchartPrintEventArgs>;
    /**
     * Triggers after the animation completed.
     * @event
     * @blazorProperty 'AnimationCompleted'
     */
    animationComplete?: base.EmitType<ISmithchartAnimationCompleteEventArgs>;
    /**
     * Triggers before smithchart rendered.
     * @event
     * @blazorProperty 'OnLoad'
     */
    load?: base.EmitType<ISmithchartLoadEventArgs>;
    /**
     * Triggers after smithchart rendered.
     * @event
     * @blazorProperty 'Loaded'
     */
    loaded?: base.EmitType<ISmithchartLoadedEventArgs>;
    /**
     * Triggers before the legend is rendered.
     * @event
     * @blazorProperty 'LegendRendering'
     */
    legendRender?: base.EmitType<ISmithchartLegendRenderEventArgs>;
    /**
     * Triggers before the title is rendered.
     * @event
     * @blazorProperty 'TitleRendering'
     */
    titleRender?: base.EmitType<ITitleRenderEventArgs>;
    /**
     * Triggers before the sub-title is rendered.
     * @event
     * @blazorProperty 'SubtitleRendering'
     */
    subtitleRender?: base.EmitType<ISubTitleRenderEventArgs>;
    /**
     * Triggers before the datalabel text is rendered.
     * @event
     * @blazorProperty 'TextRendering'
     */
    textRender?: base.EmitType<ISmithchartTextRenderEventArgs>;
    /**
     * Triggers before the axis label is rendered
     * @event
     * @blazorProperty 'AxisLabelRendering'
     */
    axisLabelRender?: base.EmitType<ISmithchartAxisLabelRenderEventArgs>;
    /**
     * Triggers before the series is rendered.
     * @event
     */
    seriesRender?: base.EmitType<ISmithchartSeriesRenderEventArgs>;
}
//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
     * @blazorProperty 'OnPrint'
     */
    beforePrint: base.EmitType<ISmithchartPrintEventArgs>;
    /**
     * Triggers after the animation completed.
     * @event
     * @blazorProperty 'AnimationCompleted'
     */
    animationComplete: base.EmitType<ISmithchartAnimationCompleteEventArgs>;
    /**
     * Triggers before smithchart rendered.
     * @event
     * @blazorProperty 'OnLoad'
     */
    load: base.EmitType<ISmithchartLoadEventArgs>;
    /**
     * Triggers after smithchart rendered.
     * @event
     * @blazorProperty 'Loaded'
     */
    loaded: base.EmitType<ISmithchartLoadedEventArgs>;
    /**
     * Triggers before the legend is rendered.
     * @event
     * @blazorProperty 'LegendRendering'
     */
    legendRender: base.EmitType<ISmithchartLegendRenderEventArgs>;
    /**
     * Triggers before the title is rendered.
     * @event
     * @blazorProperty 'TitleRendering'
     */
    titleRender: base.EmitType<ITitleRenderEventArgs>;
    /**
     * Triggers before the sub-title is rendered.
     * @event
     * @blazorProperty 'SubtitleRendering'
     */
    subtitleRender: base.EmitType<ISubTitleRenderEventArgs>;
    /**
     * Triggers before the datalabel text is rendered.
     * @event
     * @blazorProperty 'TextRendering'
     */
    textRender: base.EmitType<ISmithchartTextRenderEventArgs>;
    /**
     * Triggers before the axis label is rendered
     * @event
     * @blazorProperty 'AxisLabelRendering'
     */
    axisLabelRender: base.EmitType<ISmithchartAxisLabelRenderEventArgs>;
    /**
     * Triggers before the series is rendered.
     * @event
     */
    seriesRender: base.EmitType<ISmithchartSeriesRenderEventArgs>;
    /** @private */
    isBlazor: boolean;
    /**
     * 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;
    /**
     * @private
     * Render the smithchart border
     */
    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
     * @method destroy
     * @return {void}.
     * @member of smithChart
     */
    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.
     * @param type
     * @param fileName
     */
    export(type: SmithchartExportType, fileName: string, orientation?: pdfExport.PdfPageOrientation): void;
    /**
     * To handle the window resize event on smithchart.
     */
    smithchartOnResize(e: Event): boolean;
    /**
     * To provide the array of modules needed for smithchart rendering
     * @return {base.ModuleDeclaration[]}
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * To Remove the SVG.
     * @return {boolean}
     * @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';
/**
 * 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 control
     */
    constructor(control: Smithchart);
    /**
     * To print the Maps
     * @param elements
     */
    print(elements?: string[] | string | Element): void;
    /**
     * To get the html string of the Maps
     * @param svgElements
     * @private
     */
    getHTMLContent(svgElements?: string[] | string | Element): Element;
    /**
     * To export the file as image/svg format
     * @param type
     * @param fileName
     */
    export(exportType: SmithchartExportType, fileName: string, orientation?: pdfExport.PdfPageOrientation): void;
    /**
     * To trigger the download element
     * @param fileName
     * @param type
     * @param url
     */
    triggerDownload(fileName: string, exportType: SmithchartExportType, url: string, isDownload: boolean): void;
}
//node_modules/@syncfusion/ej2-charts/src/smithchart/utils/helper.d.ts
export  function createSvg(smithchart: Smithchart): void;
export  function getElement(id: string): Element;
/**
 * @private
 * Trim the title text
 */
export  function textTrim(maxwidth: number, text: string, font: SmithchartFontModel): string;
/**
 * Function     to compile the template function for maps.
 * @returns Function
 * @private
 */
export  function getTemplateFunction(templateString: string): Function;
export  function convertElementFromLabel(element: Element, labelId: string, data: object, index: number, smithchart: Smithchart): HTMLElement;
export  function _getEpsilonValue(): number;
/**
 * Method to calculate the width and height of the smithchart
 */
export  function calculateSize(smithchart: Smithchart): void;
/**
 * Animation for template
 * @private
 */
export  function templateAnimate(smithchart: Smithchart, element: Element, delay: number, duration: number, name: base.Effect): void;
/** @private */
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);
}
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);
}
/**
 * To remove element by id
 */
export  function removeElement(id: string): void;
/**
 * Animation base.Effect Calculation Started Here
 * @param currentTime
 * @param startValue
 * @param endValue
 * @param duration
 * @private
 */
export  function linear(currentTime: number, startValue: number, endValue: number, duration: number): number;
export  function reverselinear(currentTime: number, startValue: number, endValue: number, duration: number): number;
/** @private */
export  function getAnimationFunction(effect: string): Function;
/**
 * Internal rendering of text
 * @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.
     */
    // tslint:disable-next-line
    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
     * @blazorDefaultValue null
     */
    minX?: number;
    /**
     * To configure Sparkline x axis max value.
     * @aspDefaultValueIgnore
     * @blazorDefaultValue null
     */
    maxX?: number;
    /**
     * To configure Sparkline y axis min value.
     * @aspDefaultValueIgnore
     * @blazorDefaultValue null
     */
    minY?: number;
    /**
     * To configure Sparkline y axis max value.
     * @aspDefaultValueIgnore
     * @blazorDefaultValue null
     */
    maxY?: number;
    /**
     * To configure Sparkline horizontal axis line position.
     * @default 0
     * @blazorDefaultValue 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.
     */
    // tslint:disable-next-line
    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
     * @blazorDefaultValue null
     */
    minX: number;
    /**
     * To configure Sparkline x axis max value.
     * @aspDefaultValueIgnore
     * @blazorDefaultValue null
     */
    maxX: number;
    /**
     * To configure Sparkline y axis min value.
     * @aspDefaultValueIgnore
     * @blazorDefaultValue null
     */
    minY: number;
    /**
     * To configure Sparkline y axis max value.
     * @aspDefaultValueIgnore
     * @blazorDefaultValue null
     */
    maxY: number;
    /**
     * To configure Sparkline horizontal axis line position.
     * @default 0
     * @blazorDefaultValue 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';
/**
 * 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';
/**
 * 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';
/**
 * 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.
 * @deprecated
 */
export interface ISparklineLoadEventArgs extends ISparklineEventArgs {
    /** Defines the current sparkline instance */
    sparkline: Sparkline;
}
/**
 * Specifies the axis rendering Event arguments.
 * @deprecated
 */
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.
 * @deprecated
 */
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.
 * @deprecated
 */
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.
 * @deprecated
 */
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 pointRegions;
    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
     * @param sparkline
     */
    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 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;
    /**
     * 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 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
     * @blazorProperty 'Loaded'
     */
    loaded?: base.EmitType<ISparklineLoadedEventArgs>;
    /**
     * Triggers before sparkline render.
     * @event
     * @blazorProperty 'OnLoad'
     */
    load?: base.EmitType<ISparklineLoadEventArgs>;
    /**
     * Triggers before sparkline tooltip render.
     * @event
     * @deprecated
     * @blazorProperty 'OnTooltipInitialize'
     */
    tooltipInitialize?: base.EmitType<ITooltipRenderingEventArgs>;
    /**
     * Triggers before sparkline series render.
     * @event
     * @blazorProperty 'SeriesRendering'
     */
    seriesRendering?: base.EmitType<ISeriesRenderingEventArgs>;
    /**
     * Triggers before sparkline axis render.
     * @event
     * @deprecated
     * @blazorProperty 'AxisRendering'
     */
    axisRendering?: base.EmitType<IAxisRenderingEventArgs>;
    /**
     * Triggers before sparkline points render.
     * @event
     * @deprecated
     * @blazorProperty 'PointRendering'
     */
    pointRendering?: base.EmitType<ISparklinePointEventArgs>;
    /**
     * Triggers while mouse move on the sparkline point region.
     * @event
     * @blazorProperty 'OnPointRegionMouseMove'
     */
    pointRegionMouseMove?: base.EmitType<IPointRegionEventArgs>;
    /**
     * Triggers while mouse click on the sparkline point region.
     * @event
     * @blazorProperty 'OnPointRegionMouseClick'
     */
    pointRegionMouseClick?: base.EmitType<IPointRegionEventArgs>;
    /**
     * Triggers while mouse move on the sparkline container.
     * @event
     * @blazorProperty 'OnSparklineMouseMove'
     */
    sparklineMouseMove?: base.EmitType<ISparklineMouseEventArgs>;
    /**
     * Triggers while mouse click on the sparkline container.
     * @event
     * @blazorProperty 'OnSparklineMouseClick'
     */
    sparklineMouseClick?: base.EmitType<ISparklineMouseEventArgs>;
    /**
     * Triggers before the sparkline datalabel render.
     * @event
     * @deprecated
     * @blazorProperty 'DataLabelRendering'
     */
    dataLabelRendering?: base.EmitType<IDataLabelRenderingEventArgs>;
    /**
     * Triggers before the sparkline marker render.
     * @event
     * @deprecated
     * @blazorProperty 'MarkerRendering'
     */
    markerRendering?: base.EmitType<IMarkerRenderingEventArgs>;
    /**
     * Triggers on resizing the sparkline.
     * @event
     * @blazorProperty 'Resizing'
     */
    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 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
     * @blazorProperty 'Loaded'
     */
    loaded: base.EmitType<ISparklineLoadedEventArgs>;
    /**
     * Triggers before sparkline render.
     * @event
     * @blazorProperty 'OnLoad'
     */
    load: base.EmitType<ISparklineLoadEventArgs>;
    /**
     * Triggers before sparkline tooltip render.
     * @event
     * @deprecated
     * @blazorProperty 'OnTooltipInitialize'
     */
    tooltipInitialize: base.EmitType<ITooltipRenderingEventArgs>;
    /**
     * Triggers before sparkline series render.
     * @event
     * @blazorProperty 'SeriesRendering'
     */
    seriesRendering: base.EmitType<ISeriesRenderingEventArgs>;
    /**
     * Triggers before sparkline axis render.
     * @event
     * @deprecated
     * @blazorProperty 'AxisRendering'
     */
    axisRendering: base.EmitType<IAxisRenderingEventArgs>;
    /**
     * Triggers before sparkline points render.
     * @event
     * @deprecated
     * @blazorProperty 'PointRendering'
     */
    pointRendering: base.EmitType<ISparklinePointEventArgs>;
    /**
     * Triggers while mouse move on the sparkline point region.
     * @event
     * @blazorProperty 'OnPointRegionMouseMove'
     */
    pointRegionMouseMove: base.EmitType<IPointRegionEventArgs>;
    /**
     * Triggers while mouse click on the sparkline point region.
     * @event
     * @blazorProperty 'OnPointRegionMouseClick'
     */
    pointRegionMouseClick: base.EmitType<IPointRegionEventArgs>;
    /**
     * Triggers while mouse move on the sparkline container.
     * @event
     * @blazorProperty 'OnSparklineMouseMove'
     */
    sparklineMouseMove: base.EmitType<ISparklineMouseEventArgs>;
    /**
     * Triggers while mouse click on the sparkline container.
     * @event
     * @blazorProperty 'OnSparklineMouseClick'
     */
    sparklineMouseClick: base.EmitType<ISparklineMouseEventArgs>;
    /**
     * Triggers before the sparkline datalabel render.
     * @event
     * @deprecated
     * @blazorProperty 'DataLabelRendering'
     */
    dataLabelRendering: base.EmitType<IDataLabelRenderingEventArgs>;
    /**
     * Triggers before the sparkline marker render.
     * @event
     * @deprecated
     * @blazorProperty 'MarkerRendering'
     */
    markerRendering: base.EmitType<IMarkerRenderingEventArgs>;
    /**
     * Triggers on resizing the sparkline.
     * @event
     * @blazorProperty 'Resizing'
     */
    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 */
    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;
    /** @private */
    isBlazor: boolean;
    /**
     * 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.
 * @param  {string} text
 * @param  {SparklineFontModel} font
 * @param  {string} id
 * @returns no
 * @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/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?: number | Date;
    /**
     * Color of the strip line.
     * @default '#808080'
     */
    color?: string;
    /**
     * End value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    end?: 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?: number | Date;
    /**
     * isSegmented value of the strip line
     * @default false
     * @aspDefaultValueIgnore
     */
    isSegmented?: boolean;
    /**
     * repeatUntil value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatUntil?: number | Date;
    /**
     * segmentStart value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentStart?: number | Date;
    /**
     * segmentAxisName of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentAxisName?: string;
    /**
     * segmentEnd value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentEnd?: 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;
    /**
     * 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?: StockChartFontModel;
    /**
     * 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;
}
//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: number | Date;
    /**
     * Color of the strip line.
     * @default '#808080'
     */
    color: string;
    /**
     * End value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    end: 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: number | Date;
    /**
     * isSegmented value of the strip line
     * @default false
     * @aspDefaultValueIgnore
     */
    isSegmented: boolean;
    /**
     * repeatUntil value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    repeatUntil: number | Date;
    /**
     * segmentStart value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentStart: number | Date;
    /**
     * segmentAxisName of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentAxisName: string;
    /**
     * segmentEnd value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     */
    segmentEnd: 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;
    /**
     * 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;
}
export interface IStockChartEventArgs {
    /** name of the event */
    name: string;
    /** stock chart */
    stockChart: StockChart;
}
/**
 * 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  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: StockChartFontModel;
    /**
     * 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;
}
//node_modules/@syncfusion/ej2-charts/src/stock-chart/renderer/cartesian-chart.d.ts
/** @private */
export  class CartesianChart {
    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
     * @param start
     * @param end
     */
    cartesianChartRefresh(stockChart: StockChart, start: number, end: number, 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 start
     * @param end
     */
    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;
    /**
     * @private
     * To render stock events in chart
     */
    renderStockEvents(): Element;
    private findClosePoint;
    private createStockElements;
    renderStockEventTooltip(targetId: string): void;
    /**
     * Remove the stock event tooltip
     * @param duration
     */
    removeStockEventTooltip(duration: number): void;
    private findArrowpaths;
    private applyHighLights;
    private removeHighLights;
    private setOpacity;
    /**
     * @param value
     * To convert the c# or javascript date formats into js format
     * refer chart control's dateTime processing.
     */
    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
     * @param type
     */
    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.
     */
    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.
     */
    // tslint:disable-next-line:max-line-length
    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 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
     * @deprecated
     */
    selectorRender?: base.EmitType<IRangeSelectorRenderEventArgs>;
    /**
     * Triggers on hovering the stock chart.
     * @event
     * @blazorProperty 'OnStockChartMouseMove'
     */
    stockChartMouseMove?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when cursor leaves the chart.
     * @event
     * @blazorProperty 'OnStockChartMouseLeave'
     */
    stockChartMouseLeave?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse down.
     * @event
     * @blazorProperty 'OnStockChartMouseDown'
     */
    stockChartMouseDown?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse up.
     * @event
     * @blazorProperty 'OnStockChartMouseUp'
     */
    stockChartMouseUp?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on clicking the stock chart.
     * @event
     * @blazorProperty 'OnStockChartMouseClick'
     */
    stockChartMouseClick?: 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>;
    /**
     * 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
     * @deprecated
     */
    load?: base.EmitType<IStockChartEventArgs>;
    /**
     * Triggers after the range navigator rendering
     * @event
     * @blazorProperty 'Loaded'
     */
    loaded?: base.EmitType<IStockChartEventArgs>;
    /**
     * Triggers if the range is changed
     * @event
     * @blazorProperty 'RangeChange'
     */
    rangeChange?: base.EmitType<IRangeChangeEventArgs>;
    /**
     * Triggers before each axis label is rendered.
     * @event
     * @deprecated
     */
    axisLabelRender?: base.EmitType<IAxisLabelRenderEventArgs>;
    /**
     * Triggers before the tooltip for series is rendered.
     * @event
     * @deprecated
     */
    tooltipRender?: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * Triggers before the series is rendered.
     * @event
     * @deprecated
     */
    seriesRender?: base.EmitType<ISeriesRenderEventArgs>;
    /**
     * Triggers before the series is rendered.
     * @event
     * @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
 */
export  class StockChart extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * 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.
     */
    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 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
     * @deprecated
     */
    selectorRender: base.EmitType<IRangeSelectorRenderEventArgs>;
    /**
     * Triggers on hovering the stock chart.
     * @event
     * @blazorProperty 'OnStockChartMouseMove'
     */
    stockChartMouseMove: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when cursor leaves the chart.
     * @event
     * @blazorProperty 'OnStockChartMouseLeave'
     */
    stockChartMouseLeave: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse down.
     * @event
     * @blazorProperty 'OnStockChartMouseDown'
     */
    stockChartMouseDown: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse up.
     * @event
     * @blazorProperty 'OnStockChartMouseUp'
     */
    stockChartMouseUp: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on clicking the stock chart.
     * @event
     * @blazorProperty 'OnStockChartMouseClick'
     */
    stockChartMouseClick: 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>;
    /**
     * 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
     * @deprecated
     */
    load: base.EmitType<IStockChartEventArgs>;
    /**
     * Triggers after the range navigator rendering
     * @event
     * @blazorProperty 'Loaded'
     */
    loaded: base.EmitType<IStockChartEventArgs>;
    /**
     * Triggers if the range is changed
     * @event
     * @blazorProperty 'RangeChange'
     */
    rangeChange: base.EmitType<IRangeChangeEventArgs>;
    /**
     * Triggers before each axis label is rendered.
     * @event
     * @deprecated
     */
    axisLabelRender: base.EmitType<IAxisLabelRenderEventArgs>;
    /**
     * Triggers before the tooltip for series is rendered.
     * @event
     * @deprecated
     */
    tooltipRender: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * Triggers before the series is rendered.
     * @event
     * @deprecated
     */
    seriesRender: base.EmitType<ISeriesRenderEventArgs>;
    /**
     * Triggers before the series is rendered.
     * @event
     * @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[];
    /** @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[];
    /**
     * 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 element
     */
    private setStyle;
    private drawSVG;
    private createSecondaryElements;
    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.
     * @return {boolean}
     * @private
     */
    removeSvg(): void;
    /**
     * Module Injection for components
     */
    chartModuleInjection(): void;
    /**
     * find range for financal chart
     */
    private findRange;
    /**
     * Handles the chart resize.
     * @return {boolean}
     * @private
     */
    stockChartResize(e: Event): boolean;
    /**
     * Handles the mouse down on chart.
     * @return {boolean}
     * @private
     */
    stockChartOnMouseDown(e: PointerEvent): boolean;
    /**
     * Handles the mouse up.
     * @return {boolean}
     * @private
     */
    stockChartMouseEnd(e: PointerEvent): boolean;
    /**
     * Handles the mouse up.
     * @return {boolean}
     * @private
     */
    stockChartOnMouseUp(e: PointerEvent | TouchEvent): boolean;
    /**
     * To find mouse x, y for aligned chart element svg position
     */
    private setMouseXY;
    /**
     * Handles the mouse move.
     * @return {boolean}
     * @private
     */
    stockChartOnMouseMove(e: PointerEvent): boolean;
    /**
     * Handles the mouse move on chart.
     * @return {boolean}
     * @private
     */
    chartOnMouseMove(e: PointerEvent | TouchEvent): boolean;
    /**
     * Handles the mouse click on chart.
     * @return {boolean}
     * @private
     */
    stockChartOnMouseClick(e: PointerEvent | TouchEvent): boolean;
    private stockChartRightClick;
    /**
     * Handles the mouse leave.
     * @return {boolean}
     * @private
     */
    stockChartOnMouseLeave(e: PointerEvent): boolean;
    /**
     * Handles the mouse leave on chart.
     * @return {boolean}
     * @private
     */
    stockChartOnMouseLeaveEvent(e: PointerEvent | TouchEvent): boolean;
    /**
     * Destroy method
     */
    destroy(): void;
    private renderBorder;
    /**
     * Render title for chart
     */
    private renderTitle;
    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 {
    private gauge;
    private elementId;
    /**
     * Constructor for Annotation module.
     * @private.
     */
    constructor(gauge: CircularGauge);
    /**
     * Method to render the annotation for circular gauge.
     */
    renderAnnotation(axis: Axis, index: number): void;
    /**
     * Method to create annotation template for circular gauge.
     */
    createTemplate(element: HTMLElement, annotationIndex: number, axisIndex: number): void;
    /**
     * Method to update the annotation location for circular gauge.
     */
    private updateLocation;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the annotation.
     * @return {void}
     * @private
     */
    destroy(gauge: CircularGauge): void;
}
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/axes/axis-model.d.ts
/**
 * Interface for a class Line
 */
export interface LineModel {
    /**
     * The width of the line in pixels.
     * @default 2
     */
    width?: number;
    /**
     * The dash array of the axis line.
     * @default ''
     */
    dashArray?: string;
    /**
     * The color of the axis line, which accepts value in hex, rgba as a valid CSS color string.
     */
    color?: string;
}
/**
 * Interface for a class Label
 */
export interface LabelModel {
    /**
     * The font of the axis labels
     */
    font?: FontModel;
    /**
     * To format the axis label, which 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;
    /**
     * Specifies the position of the labels. They are,
     * * inside -  Places the labels inside the axis.
     * * outside - Places the labels outside of the axis.
     * @default Inside
     */
    position?: Position;
    /**
     * Specifies the label of an axis, which must get hide when an axis makes a complete circle. They are
     * * first -  Hides the 1st label on intersect.
     * * last - Hides the last label on intersect.
     * * none - Places both the labels.
     * @default None
     */
    hiddenLabel?: HiddenLabel;
    /**
     * if set true, the labels will get rotated along the axis.
     * @default false
     */
    autoAngle?: boolean;
    /**
     * If set true, labels takes the range color.
     * @default false
     */
    useRangeColor?: boolean;
    /**
     * Distance of the labels from axis in pixel.
     * @default 0
     */
    offset?: number;
}
/**
 * Interface for a class Range
 */
export interface RangeModel {
    /**
     * Specifies the minimum value of the range.
     * @aspDefaultValueIgnore
     * @default 0
     */
    start?: number;
    /**
     * Specifies the maximum value of the range.
     * @aspDefaultValueIgnore
     * @default 0
     */
    end?: number;
    /**
     * The radius of the range in pixels or in percentage.
     * @default null
     */
    radius?: string;
    /**
     * Specifies the start width of the ranges
     * @default '10'
     */
    startWidth?: number | string;
    /**
     * Specifies the end width of the ranges
     * @default '10'
     */
    endWidth?: number | string;
    /**
     * Specifies the color of the ranges
     * @aspDefaultValueIgnore
     * @default null
     */
    color?: string;
    /**
     * Specifies the rounded corner radius for ranges.
     * @default 0
     */
    roundedCornerRadius?: number;
    /**
     * Specifies the opacity for ranges.
     * @default 1
     */
    opacity?: number;
    /**
     * Specifies the text for legend.
     * @default ''
     */
    legendText?: string;
}
/**
 * Interface for a class Tick
 */
export interface TickModel {
    /**
     * The width of the ticks in pixels.
     * @aspDefaultValueIgnore
     * @default 2
     */
    width?: number;
    /**
     * The height of the line in pixels.
     * @aspDefaultValueIgnore
     * @default null
     */
    height?: number;
    /**
     * Specifies the interval of the tick line.
     * @aspDefaultValueIgnore
     * @default null
     */
    interval?: number;
    /**
     * Distance of the ticks from axis in pixel.
     * @default 0
     */
    offset?: number;
    /**
     * The color of the tick line, which accepts value in hex, rgba as a valid CSS color string.
     * @aspDefaultValueIgnore
     * @default null
     */
    color?: string;
    /**
     * Specifies the position of the ticks. They are
     * * inside -  Places the ticks inside the axis.
     * * outside - Places the ticks outside of the axis.
     * @default Inside
     */
    position?: Position;
    /**
     * If set true, major ticks takes the range color.
     * @default false
     */
    useRangeColor?: boolean;
}
/**
 * Interface for a class Cap
 */
export interface CapModel {
    /**
     * The color of the cap.
     * @default null
     */
    color?: string;
    /**
     * Options for customizing the border of the cap.
     */
    border?: BorderModel;
    /**
     * Radius of the cap in pixels.
     * @default 8
     */
    radius?: number;
}
/**
 * Interface for a class NeedleTail
 */
export interface NeedleTailModel {
    /**
     * The color of the back needle.
     * @aspDefaultValueIgnore
     * @default null
     */
    color?: string;
    /**
     * Options for customizing the border of the back needle.
     */
    border?: BorderModel;
    /**
     * The radius of the back needle in pixels or in percentage.
     * @default '0%'
     */
    length?: string;
}
/**
 * Interface for a class Animation
 */
export interface AnimationModel {
    /**
     * If set true, pointers get animate on initial loading.
     * @default true
     */
    enable?: boolean;
    /**
     * Duration of animation in milliseconds.
     * @default 1000
     */
    duration?: number;
}
/**
 * Interface for a class Annotation
 */
export interface AnnotationModel {
    /**
     * Content of the annotation, which accepts the id of the custom element.
     * @default null
     */
    content?: string;
    /**
     * Angle for annotation with respect to axis.
     * @default 90
     */
    angle?: number;
    /**
     * Radius for annotation with respect to axis.
     * @default '50%'
     */
    radius?: string;
    /**
     * Order of an annotation in an axis.
     * @default '-1'
     */
    zIndex?: string;
    /**
     * Rotates the annotation along the axis.
     * @default false
     */
    autoAngle?: boolean;
    /**
     * Options for customizing the annotation text.
     */
    textStyle?: FontModel;
    /**
     * Information about annotation for assistive technology.
     * @default null
     */
    description?: string;
}
/**
 * Interface for a class Pointer
 */
export interface PointerModel {
    /**
     * Specifies the value of the pointer.
     * @aspDefaultValueIgnore
     * @default null
     */
    value?: number;
    /**
     * Specifies the type of pointer for an axis.
     * * needle -  Renders a needle.
     * * marker - Renders a marker.
     * * rangeBar - Renders a rangeBar.
     * @default Needle
     */
    type?: PointerType;
    /**
     * Specifies the rounded corner radius for pointer.
     * @default 0
     */
    roundedCornerRadius?: number;
    /**
     * The URL for the Image that is to be displayed as pointer.
     * It requires marker shape value to be Image.
     * @default null
     */
    imageUrl?: string;
    /**
     * Length of the pointer in pixels or in percentage.
     * @default null
     */
    radius?: string;
    /**
     * Width of the pointer in pixels.
     * @default 20
     */
    pointerWidth?: number;
    /**
     * Options for customizing the cap
     */
    cap?: CapModel;
    /**
     * Options for customizing the back needle.
     */
    needleTail?: NeedleTailModel;
    /**
     * The color of the pointer.
     */
    color?: string;
    /**
     * Options for customizing the border of the needle.
     */
    border?: BorderModel;
    /**
     * Configures the animation of pointers.
     */
    animation?: AnimationModel;
    /**
     * Specifies the shape of the marker. They are
     * * circle - Renders a circle.
     * * rectangle - Renders a rectangle.
     * * triangle - Renders a triangle.
     * * diamond - Renders a diamond.
     * * invertedTriangle - Renders a invertedTriangle.
     * * image - Renders a image.
     * @default Circle
     */
    markerShape?: GaugeShape;
    /**
     * The height of the marker in pixels.
     * @default 5
     */
    markerHeight?: number;
    /**
     * Information about pointer for assistive technology.
     * @default null
     */
    description?: string;
    /**
     * The width of the marker in pixels.
     * @default 5
     */
    markerWidth?: number;
}
/**
 * Interface for a class Axis
 */
export interface AxisModel {
    /**
     * Specifies the minimum value of an axis.
     * @aspDefaultValueIgnore
     * @default null
     */
    minimum?: number;
    /**
     * Specifies the maximum value of an axis.
     * @aspDefaultValueIgnore
     * @default null
     */
    maximum?: number;
    /**
     * Specifies the last label to be shown
     * @default false
     */
    showLastLabel?: boolean;
    /**
     * Specifies to hide the intersecting axis labels
     * @default false
     */
    hideIntersectingLabel?: boolean;
    /**
     * Specifies the rounding Off value in the label
     * @default null
     */
    roundingPlaces?: number;
    /**
     * Radius of an axis in pixels or in percentage.
     * @default null
     */
    radius?: string;
    /**
     * Options for customizing the axis lines.
     */
    lineStyle?: LineModel;
    /**
     * Options for customizing the ranges of an axis
     */
    ranges?: RangeModel[];
    /**
     * Options for customizing the pointers of an axis
     */
    pointers?: PointerModel[];
    /**
     * ‘Annotation’ module is used to handle annotation action for an axis.
     */
    annotations?: AnnotationModel[];
    /**
     * Options for customizing the major tick lines.
     * @default { width: 2, height: 10 }
     */
    majorTicks?: TickModel;
    /**
     * Options for customizing the minor tick lines.
     * @default { width: 2, height: 5 }
     */
    minorTicks?: TickModel;
    /**
     * The start angle of an axis
     * @default 200
     */
    startAngle?: number;
    /**
     * The end angle of an axis
     * @default 160
     */
    endAngle?: number;
    /**
     * Specifies the direction of an axis. They are
     * * clockWise -  Renders the axis in clock wise direction.
     * * antiClockWise - Renders the axis in anti-clock wise direction.
     * @default ClockWise
     */
    direction?: GaugeDirection;
    /**
     * The background color of the axis, which accepts value in hex, rgba as a valid CSS color string.
     * @default null
     */
    background?: string;
    /**
     * Specifies the range gap property by pixel value.
     * @default null
     */
    rangeGap?: number;
    /**
     * Specifies the start and end range gap.
     * @default false
     */
    startAndEndRangeGap?: boolean;
    /**
     * Options to customize the axis label.
     */
    labelStyle?: LabelModel;
}
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/axes/axis-panel.d.ts
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.
     * @return {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.
     * @return {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;
    /**
     * To get axis label event arguments for Blazor
     * @return {IAxisLabelRenderEventArgs}
     * @private
     */
    private getBlazorAxisLabelEventArgs;
    /**
     * 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.
     * @return {void}
     */
    private getMaxLabelWidth;
}
//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.
     * @private.
     */
    constructor(gauge: CircularGauge);
    /**
     * Method to render the axis element of the circular gauge.
     * @return {void}
     * @private
     */
    drawAxisOuterLine(axis: Axis, index: number, element: Element, gauge: CircularGauge): void;
    /**
     * Method to render the axis line of the circular gauge.
     * @return {void}
     * @private
     */
    drawAxisLine(axis: Axis, index: number, element: Element, gauge: CircularGauge): void;
    /**
     * Method to render the axis labels of the circular gauge.
     * @return {void}
     * @private
     */
    drawAxisLabels(axis: Axis, index: number, element: Element, gauge: CircularGauge): void;
    /**
     * Method to find the anchor of the axis label.
     * @private
     */
    private findAnchor;
    /**
     * Methode to check whether the labels are intersecting or not.
     * @private
     */
    private FindAxisLabelCollision;
    /**
     * Methode to get anchor position of label as start.
     * @private
     */
    private getAxisLabelStartPosition;
    /**
     * Methode to offset label height and width based on angle.
     * @private
     */
    private offsetAxisLabelsize;
    /**
     * Method to render the axis minor tick lines of the circular gauge.
     * @return {void}
     * @private
     */
    drawMinorTickLines(axis: Axis, index: number, element: Element, gauge: CircularGauge): void;
    /**
     * Method to render the axis major tick lines of the circular gauge.
     * @return {void}
     * @private
     */
    drawMajorTickLines(axis: Axis, index: number, element: Element, gauge: CircularGauge): void;
    /**
     * Method to calcualte the tick elements for the circular gauge.
     * @return {void}
     * @private
     */
    calculateTicks(value: number, options: Tick, axis: Axis): string;
    /**
     * Method to render the axis range of the circular gauge.
     * @return {void}
     * @private
     */
    drawAxisRange(axis: Axis, index: number, element: Element, gauge: CircularGauge): void;
    /**
     * Method to calculate the radius of the axis range.
     * @return {void}
     */
    private calculateRangeRadius;
    /**
     * Method to get the range color of the circular gauge.
     * @return {void}
     * @private
     */
    setRangeColor(axis: Axis): void;
}
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/axes/axis.d.ts
/**
 * Configures the axis line.
 */
export  class Line extends base.ChildProperty<Line> {
    /**
     * The width of the line in pixels.
     * @default 2
     */
    width: number;
    /**
     * The dash array of the axis line.
     * @default ''
     */
    dashArray: string;
    /**
     * The color of the axis line, which accepts value in hex, rgba as a valid CSS color string.
     */
    color: string;
}
/**
 * Configures the axis label.
 */
export  class Label extends base.ChildProperty<Label> {
    /**
     * The font of the axis labels
     */
    font: FontModel;
    /**
     * To format the axis label, which 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;
    /**
     * Specifies the position of the labels. They are,
     * * inside -  Places the labels inside the axis.
     * * outside - Places the labels outside of the axis.
     * @default Inside
     */
    position: Position;
    /**
     * Specifies the label of an axis, which must get hide when an axis makes a complete circle. They are
     * * first -  Hides the 1st label on intersect.
     * * last - Hides the last label on intersect.
     * * none - Places both the labels.
     * @default None
     */
    hiddenLabel: HiddenLabel;
    /**
     * if set true, the labels will get rotated along the axis.
     * @default false
     */
    autoAngle: boolean;
    /**
     * If set true, labels takes the range color.
     * @default false
     */
    useRangeColor: boolean;
    /**
     * Distance of the labels from axis in pixel.
     * @default 0
     */
    offset: number;
}
/**
 * Configures the ranges of an axis.
 */
export  class Range extends base.ChildProperty<Range> {
    /**
     * Specifies the minimum value of the range.
     * @aspDefaultValueIgnore
     * @default 0
     */
    start: number;
    /**
     * Specifies the maximum value of the range.
     * @aspDefaultValueIgnore
     * @default 0
     */
    end: number;
    /**
     * The radius of the range in pixels or in percentage.
     * @default null
     */
    radius: string;
    /**
     * Specifies the start width of the ranges
     * @default '10'
     */
    startWidth: number | string;
    /**
     * Specifies the end width of the ranges
     * @default '10'
     */
    endWidth: number | string;
    /**
     * Specifies the color of the ranges
     * @aspDefaultValueIgnore
     * @default null
     */
    color: string;
    /**
     * Specifies the rounded corner radius for ranges.
     * @default 0
     */
    roundedCornerRadius: number;
    /**
     * Specifies the opacity for ranges.
     * @default 1
     */
    opacity: number;
    /**
     * Specifies the text for legend.
     * @default ''
     */
    legendText: string;
    /** @private */
    currentRadius: number;
    /** @private */
    rangeColor: string;
}
/**
 * Configures the major and minor tick lines of an axis.
 */
export  class Tick extends base.ChildProperty<Tick> {
    /**
     * The width of the ticks in pixels.
     * @aspDefaultValueIgnore
     * @default 2
     */
    width: number;
    /**
     * The height of the line in pixels.
     * @aspDefaultValueIgnore
     * @default null
     */
    height: number;
    /**
     * Specifies the interval of the tick line.
     * @aspDefaultValueIgnore
     * @default null
     */
    interval: number;
    /**
     * Distance of the ticks from axis in pixel.
     * @default 0
     */
    offset: number;
    /**
     * The color of the tick line, which accepts value in hex, rgba as a valid CSS color string.
     * @aspDefaultValueIgnore
     * @default null
     */
    color: string;
    /**
     * Specifies the position of the ticks. They are
     * * inside -  Places the ticks inside the axis.
     * * outside - Places the ticks outside of the axis.
     * @default Inside
     */
    position: Position;
    /**
     * If set true, major ticks takes the range color.
     * @default false
     */
    useRangeColor: boolean;
}
/**
 * Configures the needle cap in pointer.
 */
export  class Cap extends base.ChildProperty<Cap> {
    /**
     * The color of the cap.
     * @default null
     */
    color: string;
    /**
     * Options for customizing the border of the cap.
     */
    border: BorderModel;
    /**
     * Radius of the cap in pixels.
     * @default 8
     */
    radius: number;
}
/**
 * Configures the back needle in pointers.
 */
export  class NeedleTail extends base.ChildProperty<NeedleTail> {
    /**
     * The color of the back needle.
     * @aspDefaultValueIgnore
     * @default null
     */
    color: string;
    /**
     * Options for customizing the border of the back needle.
     */
    border: BorderModel;
    /**
     * The radius of the back needle in pixels or in percentage.
     * @default '0%'
     */
    length: string;
}
/**
 * Configures the animation of pointers.
 */
export  class Animation extends base.ChildProperty<Animation> {
    /**
     * If set true, pointers get animate on initial loading.
     * @default true
     */
    enable: boolean;
    /**
     * Duration of animation in milliseconds.
     * @default 1000
     */
    duration: number;
}
/**
 * ‘Annotation’ module is used to handle annotation action for an axis.
 */
export  class Annotation extends base.ChildProperty<Annotation> {
    /**
     * Content of the annotation, which accepts the id of the custom element.
     * @default null
     */
    content: string;
    /**
     * Angle for annotation with respect to axis.
     * @default 90
     */
    angle: number;
    /**
     * Radius for annotation with respect to axis.
     * @default '50%'
     */
    radius: string;
    /**
     * Order of an annotation in an axis.
     * @default '-1'
     */
    zIndex: string;
    /**
     * Rotates the annotation along the axis.
     * @default false
     */
    autoAngle: boolean;
    /**
     * Options for customizing the annotation text.
     */
    textStyle: FontModel;
    /**
     * Information about annotation for assistive technology.
     * @default null
     */
    description: string;
}
/**
 * Configures the pointers of an axis.
 */
export  class Pointer extends base.ChildProperty<Pointer> {
    /**
     * Specifies the value of the pointer.
     * @aspDefaultValueIgnore
     * @default null
     */
    value: number;
    /**
     * Specifies the type of pointer for an axis.
     * * needle -  Renders a needle.
     * * marker - Renders a marker.
     * * rangeBar - Renders a rangeBar.
     * @default Needle
     */
    type: PointerType;
    /**
     * Specifies the rounded corner radius for pointer.
     * @default 0
     */
    roundedCornerRadius: number;
    /**
     * The URL for the Image that is to be displayed as pointer.
     * It requires marker shape value to be Image.
     * @default null
     */
    imageUrl: string;
    /**
     * Length of the pointer in pixels or in percentage.
     * @default null
     */
    radius: string;
    /**
     * Width of the pointer in pixels.
     * @default 20
     */
    pointerWidth: number;
    /**
     * Options for customizing the cap
     */
    cap: CapModel;
    /**
     * Options for customizing the back needle.
     */
    needleTail: NeedleTailModel;
    /**
     * The color of the pointer.
     */
    color: string;
    /**
     * Options for customizing the border of the needle.
     */
    border: BorderModel;
    /**
     * Configures the animation of pointers.
     */
    animation: AnimationModel;
    /**
     * Specifies the shape of the marker. They are
     * * circle - Renders a circle.
     * * rectangle - Renders a rectangle.
     * * triangle - Renders a triangle.
     * * diamond - Renders a diamond.
     * * invertedTriangle - Renders a invertedTriangle.
     * * image - Renders a image.
     * @default Circle
     */
    markerShape: GaugeShape;
    /**
     * The height of the marker in pixels.
     * @default 5
     */
    markerHeight: number;
    /**
     * Information about pointer for assistive technology.
     * @default null
     */
    description: string;
    /**
     * The width of the marker in pixels.
     * @default 5
     */
    markerWidth: number;
    /** @private */
    currentValue: number;
    /** @private */
    pathElement: Element[];
    /** @private */
    currentRadius: number;
}
/**
 * Configures an axis in a gauge.
 */
export  class Axis extends base.ChildProperty<Axis> {
    /**
     * Specifies the minimum value of an axis.
     * @aspDefaultValueIgnore
     * @default null
     */
    minimum: number;
    /**
     * Specifies the maximum value of an axis.
     * @aspDefaultValueIgnore
     * @default null
     */
    maximum: number;
    /**
     * Specifies the last label to be shown
     * @default false
     */
    showLastLabel: boolean;
    /**
     * Specifies to hide the intersecting axis labels
     * @default false
     */
    hideIntersectingLabel: boolean;
    /**
     * Specifies the rounding Off value in the label
     * @default null
     */
    roundingPlaces: number;
    /**
     * Radius of an axis in pixels or in percentage.
     * @default null
     */
    radius: string;
    /**
     * Options for customizing the axis lines.
     */
    lineStyle: LineModel;
    /**
     * Options for customizing the ranges of an axis
     */
    ranges: RangeModel[];
    /**
     * Options for customizing the pointers of an axis
     */
    pointers: PointerModel[];
    /**
     * ‘Annotation’ module is used to handle annotation action for an axis.
     */
    annotations: AnnotationModel[];
    /**
     * Options for customizing the major tick lines.
     * @default { width: 2, height: 10 }
     */
    majorTicks: TickModel;
    /**
     * Options for customizing the minor tick lines.
     * @default { width: 2, height: 5 }
     */
    minorTicks: TickModel;
    /**
     * The start angle of an axis
     * @default 200
     */
    startAngle: number;
    /**
     * The end angle of an axis
     * @default 160
     */
    endAngle: number;
    /**
     * Specifies the direction of an axis. They are
     * * clockWise -  Renders the axis in clock wise direction.
     * * antiClockWise - Renders the axis in anti-clock wise direction.
     * @default ClockWise
     */
    direction: GaugeDirection;
    /**
     * The background color of the axis, which accepts value in hex, rgba as a valid CSS color string.
     * @default null
     */
    background: string;
    /**
     * Specifies the range gap property by pixel value.
     * @default null
     */
    rangeGap: number;
    /**
     * Specifies the start and end range gap.
     * @default false
     */
    startAndEndRangeGap: boolean;
    /**
     * Options to customize the axis label.
     */
    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/pointer-renderer.d.ts
/**
 * Specifies the Axis rendering for circular gauge
 */
export  class PointerRenderer {
    private gauge;
    /**
     * Constructor for pointer renderer.
     * @private.
     */
    constructor(gauge: CircularGauge);
    /**
     * Method to render the axis pointers of the circular gauge.
     * @return {void}
     * @private
     */
    drawPointers(axis: Axis, axisIndex: number, element: Element, gauge: CircularGauge, animate?: boolean): void;
    /**
     * Measure the pointer length of the circular gauge.
     * @return {void}
     */
    private calculatePointerRadius;
    /**
     * Method to render the needle pointer of the ciruclar gauge.
     * @return {void}
     */
    private drawNeedlePointer;
    /**
     * Method to set the pointer value of the circular gauge.
     * @return {void}
     * @private
     */
    setPointerValue(axis: Axis, pointer: Pointer, value: number): void;
    /**
     * Method to render the marker pointer of the ciruclar gauge.
     * @return {void}
     */
    private drawMarkerPointer;
    /**
     * Method to render the range bar pointer of the ciruclar gauge.
     * @return {void}
     */
    private drawRangeBarPointer;
    /**
     * Method to perform the animation of the pointer in circular gauge.
     * @return {void}
     */
    private doPointerAnimation;
    /**
     * Perform the needle and marker pointer animation for circular gauge.
     * @return {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.
     * @return {void}
     * @private
     */
    performRangeBarAnimation(element: HTMLElement, start: number, end: number, axis: Axis, pointer: Pointer, radius: number, innerRadius?: number): 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{
    /**
     * 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;
    /**
     * 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;
    /**
     * Options for customizing the color and width of the gauge border.
     */
    border?: BorderModel;
    /**
     * The background color of the gauge, which accepts value in hex, rgba as a valid CSS color string.
     * @default null
     */
    background?: string;
    /**
     * Title for gauge
     * @default ''
     */
    title?: string;
    /**
     * Options for customizing the title of Gauge.
     */
    titleStyle?: FontModel;
    /**
     *  Options to customize the left, right, top and bottom margins of the gauge.
     */
    margin?: MarginModel;
    /**
     * Options for customizing the axes of gauge
     */
    axes?: AxisModel[];
    /**
     * Options for customizing the tooltip of gauge.
     */
    tooltip?: TooltipSettingsModel;
    /**
     * If set true, pointers can able to drag on interaction.
     * @default false
     */
    enablePointerDrag?: boolean;
    /**
     * X coordinate of the circular gauge center point, which takes values either in pixels or in percentage.
     * @default null
     */
    centerX?: string;
    /**
     * Y coordinate of the circular gauge center point, which takes values either in pixels or in percentage.
     * @default null
     */
    centerY?: string;
    /**
     * To place the half or quarter circle in center position, if values not specified for centerX and centerY.
     * @default false
     */
    moveToCenter?: boolean;
    /**
     * Specifies the theme for circular gauge.
     * * Material - Gauge render with material theme.
     * * Fabric - Gauge render with fabric theme.
     * @default Material
     */
    theme?: GaugeTheme;
    /**
     * Specifies whether a grouping separator should be used for a number.
     * @default false
     */
    useGroupingSeparator?: boolean;
    /**
     * Information about gauge for assistive technology.
     * @default null
     */
    description?: string;
    /**
     * TabIndex value for the gauge.
     * @default 1
     */
    tabIndex?: number;
    /**
     * Options for customizing the legend of the chart.
     */
    legendSettings?: LegendSettingsModel;
    /**
     * Triggers after gauge loaded.
     * @event
     * @blazorProperty 'Loaded'
     */
    loaded?: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers before gauge load.
     * @event
     * @blazorProperty 'OnLoad'
     */
    load?: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers after animation gets completed for pointers.
     * @event
     * @blazorProperty 'AnimationCompleted'
     */
    animationComplete?: base.EmitType<IAnimationCompleteEventArgs>;
    /**
     * Triggers before each axis label gets rendered.
     * @event
     * @deprecated
     * @blazorProperty 'AxisLabelRendering'
     */
    axisLabelRender?: base.EmitType<IAxisLabelRenderEventArgs>;
    /**
     * Triggers before the radius gets rendered
     * @event
     * @blazorProperty 'OnRadiusCalculate'
     */
    radiusCalculate?: base.EmitType<IRadiusCalculateEventArgs>;
    /**
     * Triggers before each annotation gets rendered.
     * @event
     * @blazorProperty 'AnnotationRendering'
     */
    annotationRender?: base.EmitType<IAnnotationRenderEventArgs>;
    /**
     * Triggers before each legend gets rendered.
     * @event
     * @deprecated
     * @blazorProperty 'legendRender'
     */
    legendRender?: base.EmitType<ILegendRenderEventArgs>;
    /**
     * Triggers before the tooltip for pointer gets rendered.
     * @event
     * @blazorProperty 'TooltipRendering'
     */
    tooltipRender?: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * Triggers before the pointer is dragged.
     * @event
     * @blazorProperty 'OnDragStart'
     */
    dragStart?: base.EmitType<IPointerDragEventArgs>;
    /**
     * Triggers while dragging the pointers.
     * @event
     * @blazorProperty 'OnDragMove'
     */
    dragMove?: base.EmitType<IPointerDragEventArgs>;
    /**
     * Triggers after the pointer is dragged.
     * @event
     * @blazorProperty 'OnDragEnd'
     */
    dragEnd?: base.EmitType<IPointerDragEventArgs>;
    /**
     * Triggers on hovering the circular gauge.
     * @event
     * @blazorProperty 'OnGaugeMouseMove'
     */
    gaugeMouseMove?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers while cursor leaves the circular gauge.
     * @event
     * @blazorProperty 'OnGaugeMouseLeave'
     */
    gaugeMouseLeave?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse down.
     * @event
     * @blazorProperty 'OnGaugeMouseDown'
     */
    gaugeMouseDown?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse up.
     * @event
     * @blazorProperty 'OnGaugeMouseUp'
     */
    gaugeMouseUp?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers after window resize.
     * @event
     * @blazorProperty 'Resizing'
     */
    resized?: base.EmitType<IResizeEventArgs>;
}
//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 {
    /**
     * annotationModule is used to add annotation in gauge.
     */
    annotationsModule: Annotations;
    /**
     * `tooltipModule` is used to show the tooltip to the circular gauge..
     */
    tooltipModule: GaugeTooltip;
    /**
     * `legendModule` is used to manipulate and add legend to the chart.
     */
    legendModule: Legend;
    /**
     * 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;
    /**
     * 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;
    /**
     * Options for customizing the color and width of the gauge border.
     */
    border: BorderModel;
    /**
     *
     */
    /**
     * The background color of the gauge, which accepts value in hex, rgba as a valid CSS color string.
     * @default null
     */
    background: string;
    /**
     * Title for gauge
     * @default ''
     */
    title: string;
    /**
     * Options for customizing the title of Gauge.
     */
    titleStyle: FontModel;
    /**
     *  Options to customize the left, right, top and bottom margins of the gauge.
     */
    margin: MarginModel;
    /**
     * Options for customizing the axes of gauge
     */
    axes: AxisModel[];
    /**
     * Options for customizing the tooltip of gauge.
     */
    tooltip: TooltipSettingsModel;
    /**
     * If set true, pointers can able to drag on interaction.
     * @default false
     */
    enablePointerDrag: boolean;
    /**
     * X coordinate of the circular gauge center point, which takes values either in pixels or in percentage.
     * @default null
     */
    centerX: string;
    /**
     * Y coordinate of the circular gauge center point, which takes values either in pixels or in percentage.
     * @default null
     */
    centerY: string;
    /**
     * To place the half or quarter circle in center position, if values not specified for centerX and centerY.
     * @default false
     */
    moveToCenter: boolean;
    /**
     * Specifies the theme for circular gauge.
     * * Material - Gauge render with material theme.
     * * Fabric - Gauge render with fabric theme.
     * @default Material
     */
    theme: GaugeTheme;
    /**
     * Specifies whether a grouping separator should be used for a number.
     * @default false
     */
    useGroupingSeparator: boolean;
    /**
     * Information about gauge for assistive technology.
     * @default null
     */
    description: string;
    /**
     * TabIndex value for the gauge.
     * @default 1
     */
    tabIndex: number;
    /**
     * Options for customizing the legend of the chart.
     */
    legendSettings: LegendSettingsModel;
    /**
     * Triggers after gauge loaded.
     * @event
     * @blazorProperty 'Loaded'
     */
    loaded: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers before gauge load.
     * @event
     * @blazorProperty 'OnLoad'
     */
    load: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers after animation gets completed for pointers.
     * @event
     * @blazorProperty 'AnimationCompleted'
     */
    animationComplete: base.EmitType<IAnimationCompleteEventArgs>;
    /**
     * Triggers before each axis label gets rendered.
     * @event
     * @deprecated
     * @blazorProperty 'AxisLabelRendering'
     */
    axisLabelRender: base.EmitType<IAxisLabelRenderEventArgs>;
    /**
     * Triggers before the radius gets rendered
     * @event
     * @blazorProperty 'OnRadiusCalculate'
     */
    radiusCalculate: base.EmitType<IRadiusCalculateEventArgs>;
    /**
     * Triggers before each annotation gets rendered.
     * @event
     * @blazorProperty 'AnnotationRendering'
     */
    annotationRender: base.EmitType<IAnnotationRenderEventArgs>;
    /**
     * Triggers before each legend gets rendered.
     * @event
     * @deprecated
     * @blazorProperty 'legendRender'
     */
    legendRender: base.EmitType<ILegendRenderEventArgs>;
    /**
     * Triggers before the tooltip for pointer gets rendered.
     * @event
     * @blazorProperty 'TooltipRendering'
     */
    tooltipRender: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * Triggers before the pointer is dragged.
     * @event
     * @blazorProperty 'OnDragStart'
     */
    dragStart: base.EmitType<IPointerDragEventArgs>;
    /**
     * Triggers while dragging the pointers.
     * @event
     * @blazorProperty 'OnDragMove'
     */
    dragMove: base.EmitType<IPointerDragEventArgs>;
    /**
     * Triggers after the pointer is dragged.
     * @event
     * @blazorProperty 'OnDragEnd'
     */
    dragEnd: base.EmitType<IPointerDragEventArgs>;
    /**
     * Triggers on hovering the circular gauge.
     * @event
     * @blazorProperty 'OnGaugeMouseMove'
     */
    gaugeMouseMove: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers while cursor leaves the circular gauge.
     * @event
     * @blazorProperty 'OnGaugeMouseLeave'
     */
    gaugeMouseLeave: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse down.
     * @event
     * @blazorProperty 'OnGaugeMouseDown'
     */
    gaugeMouseDown: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on mouse up.
     * @event
     * @blazorProperty 'OnGaugeMouseUp'
     */
    gaugeMouseUp: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers after window resize.
     * @event
     * @blazorProperty 'Resizing'
     */
    resized: base.EmitType<IResizeEventArgs>;
    /** @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 */
    gaugeRect: Rect;
    /** @private */
    animatePointer: boolean;
    /** @private */
    /**
     * Render axis panel for gauge.
     * @hidden
     */
    gaugeAxisLayoutPanel: AxisLayoutPanel;
    /**
     * @private
     */
    themeStyle: IThemeStyle;
    /** @private */
    isBlazor: boolean;
    /** @private */
    isDrag: boolean;
    /** @private */
    isTouch: boolean;
    /** @private Mouse position x */
    mouseX: number;
    /** @private Mouse position y */
    mouseY: number;
    /**
     * Constructor for creating the widget
     * @hidden
     */
    constructor(options?: CircularGaugeModel, element?: string | HTMLElement);
    /**
     *  To create svg object, renderer and binding events for the container.
     */
    protected preRender(): void;
    /**
     * To render the circular gauge elements
     */
    protected render(): void;
    private setTheme;
    /**
     * Method to unbind events for circular gauge
     */
    private unWireEvents;
    /**
     * Method to bind events for circular gauge
     */
    private wireEvents;
    /**
     * Handles the mouse click on accumulation chart.
     * @return {boolean}
     * @private
     */
    gaugeOnMouseClick(e: PointerEvent): boolean;
    /**
     * Handles the mouse move.
     * @return {boolean}
     * @private
     */
    mouseMove(e: PointerEvent): boolean;
    /**
     * Handles the mouse leave.
     * @return {boolean}
     * @private
     */
    mouseLeave(e: PointerEvent): boolean;
    /**
     * Handles the mouse right click.
     * @return {boolean}
     * @private
     */
    gaugeRightClick(event: MouseEvent | PointerEvent): boolean;
    /**
     * Handles the pointer draf while mouse move on gauge.
     * @private
     */
    pointerDrag(location: GaugeLocation): void;
    /**
     * Handles the mouse down on gauge.
     * @return {boolean}
     * @private
     */
    gaugeOnMouseDown(e: PointerEvent): boolean;
    /**
     * Handles the mouse end.
     * @return {boolean}
     * @private
     */
    mouseEnd(e: PointerEvent): boolean;
    /**
     * Handles the mouse event arguments.
     * @return {IMouseEventArgs}
     * @private
     */
    private getMouseArgs;
    /**
     * Handles the gauge resize.
     * @return {boolean}
     * @private
     */
    gaugeResize(e: Event): boolean;
    /**
     * Applying styles for circular gauge elements
     */
    private setGaugeStyle;
    /**
     * Method to set culture for gauge
     */
    private setCulture;
    /**
     * Methods to create svg element for circular gauge.
     */
    private createSvg;
    /**
     * To Remove the SVG from circular gauge.
     * @return {boolean}
     * @private
     */
    removeSvg(): void;
    /**
     * To initialize the circular gauge private variable.
     * @private
     */
    private initPrivateVariable;
    /**
     * To calculate the size of the circular gauge element.
     */
    private calculateSvgSize;
    /**
     * Method to calculate the availble size for circular gauge.
     */
    private calculateBounds;
    /**
     * To render elements for circular gauge
     */
    private renderElements;
    /**
     * Method to render legend for accumulation chart
     */
    private renderLegend;
    /**
     * Method to render the title for circular gauge.
     */
    private renderTitle;
    /**
     * Method to render the border for circular gauge.
     */
    private renderBorder;
    /**
     * Method to set the pointer value dynamically for circular gauge.
     */
    setPointerValue(axisIndex: number, pointerIndex: number, value: number): void;
    /**
     * Method to set the annotation content dynamically for circular gauge.
     */
    setAnnotationValue(axisIndex: number, annotationIndex: number, content: string): void;
    /**
     * Method to set mouse x, y from events
     */
    private setMouseXY;
    /**
     * Method to set the range values dynamically for 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
     * @return {base.ModuleDeclaration[]}
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * 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: CircularGaugeModel, oldProp: CircularGaugeModel): void;
    /**
     * Get component name for circular gauge
     * @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 {
    /**
     * 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 false
     */
    visible?: boolean;
    /**
     * If set to true, series' visibility collapses based on the legend visibility.
     * @default true
     */
    toggleVisibility?: boolean;
    /**
     * 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 border of the legend.
     */
    border?: BorderModel;
    /**
     * Options to customize the border of the legend.
     */
    shapeBorder?: BorderModel;
    /**
     * Option to customize the padding between legend items.
     * @default 8
     */
    padding?: number;
    /**
     * Opacity of the legend.
     * @default 1
     */
    opacity?: number;
    /**
     * Position of the legend in the circular gauge are,
     * * Auto: Displays the legend based on the avail space of the circular this.gauge.
     * * Top: Displays the legend at the top of the circular this.gauge.
     * * Left: Displays the legend at the left of the circular this.gauge.
     * * Bottom: Displays the legend at the bottom of the circular this.gauge.
     * * Right: Displays the legend at the right of the circular this.gauge.
     * @default 'Auto'
     */
    position?: LegendPosition;
    /**
     * Customize the legend shape of the maps.
     * @default Circle
     */
    shape?: GaugeShape;
    /**
     * The height of the legend in pixels.
     * @default null
     */
    height?: string;
    /**
     * The width of the legend in pixels.
     * @default null
     */
    width?: string;
    /**
     * Options to customize the legend text.
     */
    textStyle?: FontModel;
    /**
     * Height of the shape
     * @default 10
     */
    shapeHeight?: number;
    /**
     * Width of the shape
     * @default 10
     */
    shapeWidth?: number;
    /**
     * Padding for the shape
     * @default 5
     */
    shapePadding?: number;
    /**
     * 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='Gauge'></div>
     * ```
     * ```typescript
     * let gauge: CircularGauge = new CircularGauge({
     * ...
     *   legendSettings: {
     *     visible: true,
     *     position: 'Custom',
     *     location: { x: 100, y: 150 },
     *   },
     * ...
     * });
     * this.gauge.appendTo('#Gauge');
     * ```
     */
    location?: LocationModel;
    /**
     * Options to customize the legend background
     * @default 'transparent'
     */
    background?: string;
    /**
     * 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
/**
 * 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 false
     */
    visible: boolean;
    /**
     * If set to true, series' visibility collapses based on the legend visibility.
     * @default true
     */
    toggleVisibility: boolean;
    /**
     * 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 border of the legend.
     */
    border: BorderModel;
    /**
     * Options to customize the border of the legend.
     */
    shapeBorder: BorderModel;
    /**
     * Option to customize the padding between legend items.
     * @default 8
     */
    padding: number;
    /**
     * Opacity of the legend.
     * @default 1
     */
    opacity: number;
    /**
     * Position of the legend in the circular gauge are,
     * * Auto: Displays the legend based on the avail space of the circular this.gauge.
     * * Top: Displays the legend at the top of the circular this.gauge.
     * * Left: Displays the legend at the left of the circular this.gauge.
     * * Bottom: Displays the legend at the bottom of the circular this.gauge.
     * * Right: Displays the legend at the right of the circular this.gauge.
     * @default 'Auto'
     */
    position: LegendPosition;
    /**
     * Customize the legend shape of the maps.
     * @default Circle
     */
    shape: GaugeShape;
    /**
     * The height of the legend in pixels.
     * @default null
     */
    height: string;
    /**
     * The width of the legend in pixels.
     * @default null
     */
    width: string;
    /**
     * Options to customize the legend text.
     */
    textStyle: FontModel;
    /**
     * Height of the shape
     * @default 10
     */
    shapeHeight: number;
    /**
     * Width of the shape
     * @default 10
     */
    shapeWidth: number;
    /**
     * Padding for the shape
     * @default 5
     */
    shapePadding: number;
    /**
     * 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='Gauge'></div>
     * ```
     * ```typescript
     * let gauge$: CircularGauge = new CircularGauge({
     * ...
     *   legendSettings: {
     *     visible: true,
     *     position: 'Custom',
     *     location: { x: 100, y: 150 },
     *   },
     * ...
     * });
     * this.gauge.appendTo('#Gauge');
     * ```
     */
    location: LocationModel;
    /**
     * Options to customize the legend background
     * @default 'transparent'
     */
    background: string;
    /**
     * Options to customize the legend margin
     */
    margin: MarginModel;
}
export  class Legend {
    legendCollection: LegendOptions[];
    legendRenderingCollections: Object[];
    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;
    /**
     * Gets the legend bounds in chart.
     * @private
     */
    legendBounds: Rect;
    /**  @private */
    position: LegendPosition;
    constructor(gauge: CircularGauge);
    /**
     * Binding events for legend module.
     */
    private addEventListener;
    /**
     * UnBinding events for legend module.
     */
    private removeEventListener;
    /**
     * Get the legend options.
     * @return {void}
     * @private
     */
    getLegendOptions(axes: Axis[]): void;
    calculateLegendBounds(rect: Rect, availableSize: Size): void;
    /**
     * To find legend alignment for chart and accumulation chart
     */
    private alignLegend;
    /**
     * To find legend location based on position, alignment for chart and accumulation chart
     */
    private getLocation;
    /**
     * Renders the legend.
     * @return {void}
     * @private
     */
    renderLegend(legend: LegendSettingsModel, legendBounds: Rect, redraw?: boolean): void;
    /**
     * To render legend paging elements for chart and accumulation chart
     */
    private renderPagingElements;
    /**
     * To translate legend pages for chart and accumulation chart
     */
    protected translatePage(pagingText: Element, page: number, pageNumber: number): number;
    /**
     * To render legend text for chart and accumulation chart
     */
    protected renderText(legendOption: LegendOptions, group: Element, textOptions: TextOption, axisIndex: number, rangeIndex: number): void;
    /**
     * To render legend symbols for chart and accumulation chart
     */
    protected renderSymbol(legendOption: LegendOptions, group: Element, axisIndex: number, rangeIndex: number): void;
    /**
     * To find legend rendering locations from legend options.
     * @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.
     * @return {void}
     */
    click(event: Event): void;
    /**
     * Set toggled legend styles.
     */
    private setStyles;
    /**
     * To get legend by index
     */
    private legendByIndex;
    /**
     * To change legend pages for chart and accumulation chart
     */
    protected changePage(event: Event, pageUp: boolean): void;
    /**
     * To find available width from legend x position.
     */
    private getAvailWidth;
    /**
     * To create legend rendering elements for chart and accumulation chart
     */
    private createLegendElements;
    /**
     * Method to append child element
     */
    private appendChildElement;
    /**
     * To find first valid legend text index for chart and accumulation chart
     */
    private findFirstLegendPosition;
    /**
     * To find legend bounds for accumulation chart.
     * @private
     */
    getLegendBounds(availableSize: Size, legendBounds: Rect, legend: LegendSettingsModel): void;
    /** @private */
    private subtractThickness;
    /**
     * To set bounds for chart and accumulation chart
     */
    protected setBounds(computedWidth: number, computedHeight: number, legend: LegendSettingsModel, legendBounds: Rect): void;
    /**
     * To find maximum column size for legend
     */
    private getMaxColumn;
    /**
     * To show or hide trimmed text tooltip for legend.
     * @return {void}
     * @private
     */
    move(event: Event): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the legend.
     * @return {void}
     * @private
     */
    destroy(circulargauge: CircularGauge): 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 {
    /**
     * The color of the border, which accepts value in hex, rgba as a valid CSS color string.
     */
    color?: string;
    /**
     * The width of the border in pixels.
     * @default 1
     */
    width?: number;
}
/**
 * Interface for a class Font
 */
export interface FontModel {
    /**
     * Font size for text.
     * @default '16px'
     */
    size?: string;
    /**
     * Color for text.
     */
    color?: string;
    /**
     * FontFamily for text.
     * @default 'segoe UI'
     */
    fontFamily?: string;
    /**
     * FontWeight for text.
     * @default 'Normal'
     */
    fontWeight?: string;
    /**
     * FontStyle for text.
     * @default 'Normal'
     */
    fontStyle?: string;
    /**
     * Opacity for text.
     * @default 1
     */
    opacity?: number;
}
/**
 * Interface for a class RangeTooltip
 */
export interface RangeTooltipModel {
    /**
     * The fill color of the range tooltip, which accepts value in hex, rgba as a valid CSS color string.
     * @default null
     */
    fill?: string;
    /**
     * Options to customize the tooltip text of range.
     */
    textStyle?: FontModel;
    /**
     * Format of the range tooltip content.
     * @default null
     */
    format?: string;
    /**
     * 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;
    /**
     * If set true, range tooltip will animate, while moving from one point to another.
     * @default true
     */
    enableAnimation?: boolean;
    /**
     * Options to customize the border for range tooltip.
     */
    border?: BorderModel;
    /**
     * Options to show the range tooltip position on pointer.
     * @default false
     */
    showAtMousePosition?: boolean;
}
/**
 * Interface for a class AnnotationTooltip
 */
export interface AnnotationTooltipModel {
    /**
     * The fill color of the annotation tooltip, which accepts value in hex, rgba as a valid CSS color string.
     * @default null
     */
    fill?: string;
    /**
     * Options to customize the tooltip text of annotation.
     */
    textStyle?: FontModel;
    /**
     * Format of the annotation tooltip content.
     * @default null
     */
    format?: string;
    /**
     * 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;
    /**
     * If set true, range and annotation tooltip will animate, while moving from one point to another.
     * @default true
     */
    enableAnimation?: boolean;
    /**
     * Options to customize the border for annotation tooltip.
     */
    border?: BorderModel;
}
/**
 * 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 TooltipSettings
 */
export interface TooltipSettingsModel {
    /**
     * Enable / Disable the visibility of tooltip.
     * @default false
     */
    enable?: boolean;
    /**
     * The fill color of the tooltip, which accepts value in hex, rgba as a valid CSS color string.
     * @default null
     */
    fill?: string;
    /**
     * Options to customize the tooltip text.
     */
    textStyle?: FontModel;
    /**
     * Options to customize the range tooltip property.
     */
    rangeSettings?: RangeTooltipModel;
    /**
     * Options to customize the annotation tooltip property.
     */
    annotationSettings?: AnnotationTooltipModel;
    /**
     * Format of the tooltip content.
     * @default null
     */
    format?: string;
    /**
     * 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;
    /**
     * If set true, tooltip will animate, while moving from one point to another.
     * @default true
     */
    enableAnimation?: boolean;
    /**
     * Options to customize the border for tooltip.
     */
    border?: BorderModel;
    /**
     * Options to show the tooltip position on pointer
     * @default false
     */
    showAtMousePosition?: boolean;
    /**
     * Option to select the tooltip from Range, Annotation, Pointer
     * @default Pointer
     */
    type?: string[];
}
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/model/base.d.ts
/**
 * Configures the borders in circular gauge.
 */
export  class Border extends base.ChildProperty<Border> {
    /**
     * The color of the border, which accepts value in hex, rgba as a valid CSS color string.
     */
    color: string;
    /**
     * The width of the border in pixels.
     * @default 1
     */
    width: number;
}
/**
 * Configures the fonts in circular gauge.
 */
export  class Font extends base.ChildProperty<Font> {
    /**
     * Font size for text.
     * @default '16px'
     */
    size: string;
    /**
     * Color for text.
     */
    color: string;
    /**
     * FontFamily for text.
     * @default 'segoe UI'
     */
    fontFamily: string;
    /**
     * FontWeight for text.
     * @default 'Normal'
     */
    fontWeight: string;
    /**
     * FontStyle for text.
     * @default 'Normal'
     */
    fontStyle: string;
    /**
     * Opacity for text.
     * @default 1
     */
    opacity: number;
}
/**
 * To set tooltip properties for range tooltip.
 */
export  class RangeTooltip extends base.ChildProperty<RangeTooltip> {
    /**
     * The fill color of the range tooltip, which accepts value in hex, rgba as a valid CSS color string.
     * @default null
     */
    fill: string;
    /**
     * Options to customize the tooltip text of range.
     */
    textStyle: FontModel;
    /**
     * Format of the range tooltip content.
     * @default null
     */
    format: string;
    /**
     * 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;
    /**
     * If set true, range tooltip will animate, while moving from one point to another.
     * @default true
     */
    enableAnimation: boolean;
    /**
     * Options to customize the border for range tooltip.
     */
    border: BorderModel;
    /**
     * Options to show the range tooltip position on pointer.
     * @default false
     */
    showAtMousePosition: boolean;
}
/**
 * To set tooltip properties for annotation tooltip.
 */
export  class AnnotationTooltip extends base.ChildProperty<AnnotationTooltip> {
    /**
     * The fill color of the annotation tooltip, which accepts value in hex, rgba as a valid CSS color string.
     * @default null
     */
    fill: string;
    /**
     * Options to customize the tooltip text of annotation.
     */
    textStyle: FontModel;
    /**
     * Format of the annotation tooltip content.
     * @default null
     */
    format: string;
    /**
     * 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;
    /**
     * If set true, range and annotation tooltip will animate, while moving from one point to another.
     * @default true
     */
    enableAnimation: boolean;
    /**
     * Options to customize the border for annotation tooltip.
     */
    border: BorderModel;
}
/**
 * Configures the margin of circular gauge.
 */
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 tooltip in circular gauge.
 */
export  class TooltipSettings extends base.ChildProperty<TooltipSettings> {
    /**
     * Enable / Disable the visibility of tooltip.
     * @default false
     */
    enable: boolean;
    /**
     * The fill color of the tooltip, which accepts value in hex, rgba as a valid CSS color string.
     * @default null
     */
    fill: string;
    /**
     * Options to customize the tooltip text.
     */
    textStyle: FontModel;
    /**
     * Options to customize the range tooltip property.
     */
    rangeSettings: RangeTooltipModel;
    /**
     * Options to customize the annotation tooltip property.
     */
    annotationSettings: AnnotationTooltipModel;
    /**
     * Format of the tooltip content.
     * @default null
     */
    format: string;
    /**
     * 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;
    /**
     * If set true, tooltip will animate, while moving from one point to another.
     * @default true
     */
    enableAnimation: boolean;
    /**
     * Options to customize the border for tooltip.
     */
    border: BorderModel;
    /**
     * Options to show the tooltip position on pointer
     * @default false
     */
    showAtMousePosition: boolean;
    /**
     * Option to select the tooltip from Range, Annotation, Pointer
     * @default Pointer
     */
    type: string[];
}
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/model/constants.d.ts
/**
 * Specifies the 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 radiusCalculate: 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 resized: string;
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/model/interface.d.ts
/**
 * interface doc
 */
/**
 * Specifies Circular-Gauge Events
 */
export interface ICircularGaugeEventArgs {
    /**
     * name of the event
     */
    name: string;
    /**
     * to cancel the event
     */
    cancel: boolean;
}
/**
 * Specifies Loaded event arguments for circular gauge.
 */
export interface ILoadedEventArgs extends ICircularGaugeEventArgs {
    /**
     * gauge event argument
     */
    gauge: CircularGauge;
}
/**
 * Specifies AnimationComplete event arguments for circular gauge.
 */
export interface IAnimationCompleteEventArgs extends ICircularGaugeEventArgs {
    /**
     * axis event argument
     */
    axis: Axis;
    /**
     * pointer event argument
     */
    pointer: Pointer;
}
/**
 * Specifies AxisLabelRender event arguments for circular gauge.
 * @deprecated
 */
export interface IAxisLabelRenderEventArgs extends ICircularGaugeEventArgs {
    /**
     * axis event argument
     */
    axis?: Axis;
    /**
     * text event argument
     */
    text: string;
    /**
     * value event argument
     */
    value: number;
}
/**
 * Specifies radiusRender event arguments for circular gauge
 */
export interface IRadiusCalculateEventArgs extends ICircularGaugeEventArgs {
    /**
     * Instance of Circular gauge component
     */
    gauge?: CircularGauge;
    /**
     * current radius event argument
     */
    currentRadius: number;
    /**
     * axis event argument
     */
    axis?: Axis;
    /**
     * midpoint event argument
     */
    midPoint: GaugeLocation;
}
/**
 * Specifies TooltipRender event arguments for circular gauge.
 */
export interface ITooltipRenderEventArgs extends ICircularGaugeEventArgs {
    /**
     * Instance of linear gauge component.
     */
    gauge?: CircularGauge;
    /**
     * Tooltip event
     */
    event: PointerEvent;
    /**
     * Render the tooltip content
     */
    content?: string;
    /**
     * Tooltip configuration
     */
    tooltip?: TooltipSettings;
    /**
     * Render the tooltip location
     */
    location?: GaugeLocation;
    /**
     * event argument axis
     */
    axis?: Axis;
    /**
     * event argument pointer
     */
    pointer?: Pointer;
    /**
     * event argument annotation
     */
    annotation?: Annotation;
    /**
     * event argument range
     */
    range?: Range;
    /**
     * event tooltip argument as append to body
     */
    appendInBodyTag: Boolean;
}
/**
 * Specifies AnnotationRender event arguments for circular gauge.
 */
export interface IAnnotationRenderEventArgs extends ICircularGaugeEventArgs {
    /**
     * content event argument
     */
    content?: string;
    /**
     * textStyle event argument
     */
    textStyle?: FontModel;
    /**
     * axis event argument
     */
    axis?: Axis;
    /**
     * annotation event argument
     */
    annotation: Annotation;
}
/**
 * Specifies DragStart, DragMove and DragEnd events arguments for circular gauge.
 */
export interface IPointerDragEventArgs {
    /**
     * name event argument
     */
    name: string;
    /**
     * axis event argument
     */
    axis?: Axis;
    /**
     * pointer event argument
     */
    pointer?: Pointer;
    /**
     * currentValue event argument
     */
    currentValue: number;
    /**
     * previousValue event argument
     */
    previousValue?: number;
    /**
     * index of the current pointer argument
     */
    pointerIndex: number;
    /**
     * index of the current pointer`s axis argument
     */
    axisIndex: number;
}
/**
 * Specifies Resize event arguments for circular gauge.
 */
export interface IResizeEventArgs {
    /**
     * name event argument
     */
    name: string;
    /**
     * previousSize event argument
     */
    previousSize: Size;
    /**
     * currentSize event argument
     */
    currentSize: Size;
    /**
     * gauge event argument
     */
    gauge?: CircularGauge;
}
/**
 * Specifies Mouse events arguments for circular gauge.
 */
export interface IMouseEventArgs extends ICircularGaugeEventArgs {
    /**
     * target event argument
     */
    target: Element;
    /**
     * x event argument
     */
    x: number;
    /**
     * y event argument
     */
    y: number;
}
/**
 * Specifies visible point
 */
export interface IVisiblePointer {
    /**
     * axisIndex event argument
     */
    axisIndex?: number;
    /**
     * pointerIndex event argument
     */
    pointerIndex?: number;
}
/**
 * Specifies font mapping
 */
export interface IFontMapping {
    /**
     * size event argument
     */
    size?: string;
    /**
     * color event argument
     */
    color?: string;
    /**
     * fontWeight event argument
     */
    fontWeight?: string;
    /**
     * fontStyle event argument
     */
    fontStyle?: string;
    /**
     * fontFamily event argument
     */
    fontFamily?: string;
}
export interface IThemeStyle {
    backgroundColor: string;
    titleFontColor: string;
    tooltipFillColor: string;
    tooltipFontColor: string;
    lineColor: string;
    labelColor: string;
    majorTickColor: string;
    minorTickColor: string;
    pointerColor: string;
    needleColor: string;
    needleTailColor: string;
    capColor: string;
    fontFamily?: string;
    fontSize?: string;
    labelFontFamily?: string;
    tooltipFillOpacity?: number;
    tooltipTextOpacity?: number;
}
export interface ILegendRenderEventArgs extends ICircularGaugeEventArgs {
    /** Defines the current legend shape */
    shape: GaugeShape;
    /** Defines the current legend fill color */
    fill: string;
    /** Defines the current legend text */
    text: string;
}
export interface ILegendRegions {
    rect: Rect;
    index: number;
}
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/model/theme.d.ts
/**
 * Specifies gauge Themes
 */
export  namespace Theme {
    /** @private */
    let axisLabelFont: IFontMapping;
    let legendLabelFont: IFontMapping;
}
/** @private */
export  function getRangePalette(theme: string): string[];
/** @private */
export  function getThemeStyle(theme: GaugeTheme): IThemeStyle;
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/user-interaction/tooltip.d.ts
/**
 * Tooltip Module 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 textStyle;
    private svgTooltip;
    private tooltipId;
    private gaugeId;
    private tooltipPosition;
    private arrowInverted;
    private tooltipRect;
    private clearTimeout;
    private pointerEle;
    private annotationTargetElement;
    /**
     * Constructor for Tooltip module.
     * @private.
     */
    constructor(gauge: CircularGauge);
    /**
     * Method to render the tooltip for circular gauge.
     */
    renderTooltip(e: PointerEvent): void;
    /**
     * Method to create tooltip svg element.
     */
    private svgTooltipCreate;
    /**
     * Method to create or modify tolltip element.
     */
    private tooltipElement;
    /**
     * Method to get parent annotation element.
     */
    private checkParentAnnotationId;
    /**
     * Method to apply label rounding places.
     */
    private roundedValue;
    /**
     * Method to find the position of the tooltip anchor for circular gauge.
     */
    private findPosition;
    removeTooltip(): void;
    mouseUpHandler(e: PointerEvent): void;
    /**
     * To bind events for tooltip module
     */
    addEventListener(): void;
    /**
     * To unbind events for tooltip module
     */
    removeEventListener(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the tooltip.
     * @return {void}
     * @private
     */
    destroy(gauge: CircularGauge): void;
}
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/utils/enum.d.ts
/**
 * Defines position of the axis ticks / labels. They are
 * * inside
 * * outside
 * @private
 */
export  type Position = 
/**  Inside position of the tick line / axis label. */
'Inside' | 
/**  Outside position of the tick line / axis label. */
'Outside';
/**
 * Defines Pointer type of the axis. They are
 * * needle
 * * marker
 * * rangeBar
 * @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';
/**
 * Defines Direction of the gauge. They are
 * * ClockWise
 * * AntiClockWise
 * @private
 */
export  type GaugeDirection = 
/** Renders the axis in clock wise direction. */
'ClockWise' | 
/** Renders the axis in anti-clock wise direction. */
'AntiClockWise';
/**
 * Defines Theme of the gauge. They are
 * * Material
 * * Fabric
 * @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 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 Bootstrap 4 theme. */
'Bootstrap4';
/**
 * Defines Hidden label of the axis. They are
 * * First
 * * Last
 * @private
 */
export  type HiddenLabel = 
/**  Hides the 1st label on intersect. */
'First' | 
/**  Hides the last label on intersect. */
'Last' | 
/**  Places both the labels. */
'None';
/**
 * 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 GaugeShape = 
/** Render a circle. */
'Circle' | 
/** Render a Rectangle. */
'Rectangle' | 
/** Render a Triangle. */
'Triangle' | 
/** Render a Diamond. */
'Diamond' | 
/** Render a InvertedTriangle. */
'InvertedTriangle' | 
/** Render a Image. */
'Image';
export  type LegendPosition = 
/** Places the legend on the top of circular gauge. */
'Top' | 
/** Places the legend on the left of circular gauge. */
'Left' | 
/** Places the legend on the bottom of circular gauge. */
'Bottom' | 
/** Places the legend on the right of circular gauge. */
'Right' | 
/** Places the legend on the custom x and y location */
'Custom' | 
/** Places the legend based on the available space */
'Auto';
export  type Alignment = 
/** Places the legend on the near of the circular gauge */
'Near' | 
/** Places the legend on the center of the circular gauge */
'Center' | 
/** Places the legend on the far on the circular gauge */
'Far';
//node_modules/@syncfusion/ej2-circulargauge/src/circular-gauge/utils/helper.d.ts
/**
 * Function to measure the height and width of the text.
 * @param  {string} text
 * @param  {FontModel} font
 * @param  {string} id
 * @returns Size
 * @private
 */
export  function measureText(text: string, font: FontModel): Size;
/**
 * Function to find number from string
 * * @returns number
 * @private
 */
export  function toPixel(value: string, maxDimension: number): number;
/**
 * Function to get the style from FontModel.
 * @returns string
 * @private
 */
export  function getFontStyle(font: FontModel): string;
/**
 * Function to set style to the element.
 * @private
 */
export  function setStyles(element: HTMLElement, fill: string, border: BorderModel): void;
/**
 * Function to measure the element rect.
 * @returns ClientRect
 * @private
 */
export  function measureElementRect(element: HTMLElement): ClientRect;
/**
 * Function to convert the number from string.
 * @returns number
 * @private
 */
export  function stringToNumber(value: string, containerSize: number): number;
/**
 * Function to create the text element.
 * @returns 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.
 * @returns Element
 * @private
 */
export  function appendPath(options: PathOption, element: Element, gauge: CircularGauge, functionName?: string): Element;
/**
 * Function to calculate the sum of array values.
 * @returns number
 * @private
 */
export  function calculateSum(from: number, to: number, values: number[]): number;
/**
 * Function to calculate the value for linear animation effect
 * @param currentTime
 * @param startValue
 * @param endValue
 * @param duration
 * @private
 */
export  function linear(currentTime: number, startValue: number, endValue: number, duration: number): number;
/**
 * Function to get the angle from value for circular gauge.
 * @returns number
 * @private
 */
export  function getAngleFromValue(value: number, maximumValue: number, minimumValue: number, startAngle: number, endAngle: number, isClockWise: boolean): number;
/**
 * Function to get the degree for circular gauge.
 * @returns number
 * @private
 */
export  function getDegree(startAngle: number, endAngle: number): number;
/**
 * Function to get the value from angle for circular gauge.
 * @returns number
 * @private
 */
export  function getValueFromAngle(angle: number, maximumValue: number, minimumValue: number, startAngle: number, endAngle: number, isClockWise: boolean): number;
/**
 * Function to check whether it's a complete circle for circular gauge.
 * @returns boolean
 * @private
 */
export  function isCompleteAngle(startAngle: number, endAngle: number): boolean;
/**
 * Function to get angle from location for circular gauge.
 * @returns number
 * @private
 */
export  function getAngleFromLocation(center: GaugeLocation, point: GaugeLocation): number;
/**
 * Function to get the location from angle for circular gauge.
 * @returns GaugeLocation
 * @private
 */
export  function getLocationFromAngle(degree: number, radius: number, center: GaugeLocation): GaugeLocation;
/**
 * Function to get the path direction of the circular gauge.
 * @returns string
 * @private
 */
export  function getPathArc(center: GaugeLocation, start: number, end: number, radius: number, startWidth?: number, endWidth?: number): string;
/**
 * Function to get the range path direction of the circular gauge.
 * @returns string
 * @private
 */
export  function getRangePath(start: GaugeLocation, end: GaugeLocation, innerStart: GaugeLocation, innerEnd: GaugeLocation, radius: number, startRadius: number, endRadius: number, clockWise: number): string;
/**
 * Function to get the rounded path direction of the circular gauge.
 * @returns string
 * @private
 */
export  function getRoundedPathArc(center: GaugeLocation, actualStart: number, actualEnd: number, oldStart: number, oldEnd: number, radius: number, startWidth?: number, endWidth?: number): string;
/**
 * Function to get the rounded range path direction of the circular gauge.
 * @returns string
 * @private
 */
export  function getRoundedPath(start: GaugeLocation, end: GaugeLocation, outerOldEnd: GaugeLocation, innerOldEnd: GaugeLocation, outerOldStart: GaugeLocation, innerOldStart: GaugeLocation, innerStart: GaugeLocation, innerEnd: GaugeLocation, radius: number, startRadius: number, endRadius: number, clockWise: number): string;
/**
 * Function to calculate the complete path arc of the circular gauge.
 * @returns string
 * @private
 */
export  function getCompleteArc(center: GaugeLocation, start: number, end: number, radius: number, innerRadius: number): string;
/**
 * Function to get the circular path direction of the circular gauge.
 * @returns string
 * @private
 */
export  function getCirclePath(start: GaugeLocation, end: GaugeLocation, radius: number, clockWise: number): string;
/**
 * Function to get the complete path direction of the circular gauge.
 * @returns string
 * @private
 */
export  function getCompletePath(center: GaugeLocation, start: GaugeLocation, end: GaugeLocation, radius: number, innerStart: GaugeLocation, innerEnd: GaugeLocation, innerRadius: number, clockWise: number): string;
/**
 * Function to get element from id.
 * @returns Element
 * @private
 */
export  function getElement(id: string): Element;
/**
 * Function to compile the template function for circular gauge.
 * @returns Function
 * @private
 */
export  function getTemplateFunction(template: string): Function;
/**
 * Function to remove the element from id.
 * @private
 */
export  function removeElement(id: string): void;
/**
 * Function to get current point for circular gauge using element id.
 * @returns IVisiblePointer
 * @private
 */
export  function getPointer(targetId: string, gauge: CircularGauge): IVisiblePointer;
export  function getElementSize(template: string, gauge: CircularGauge, parent: HTMLElement): Size;
/**
 * Function to get the mouse position
 * @param pageX
 * @param pageY
 * @param element
 */
export  function getMousePosition(pageX: number, pageY: number, element: Element): GaugeLocation;
/**
 * Function to convert the label using format for cirular gauge.
 * @returns string
 * @private
 */
export  function getLabelFormat(format: string): string;
/**
 * Function to calculate the marker shape for circular gauge.
 * @returns PathOption
 * @private
 */
export  function calculateShapes(location: GaugeLocation, shape: string, size: Size, url: string, options: PathOption): PathOption;
/**
 * Function to get range color from value for circular gauge.
 * @returns string
 * @private
 */
export  function getRangeColor(value: number, ranges: Range[], color: string): string;
/** @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;
    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  function textTrim(maxWidth: number, text: string, font: FontModel): string;
/** @private */
export  function showTooltip(text: string, x: number, y: number, areaWidth: number, id: string, element: Element): void;
/** @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/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;
    /**
     * 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;
    /**
     * 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;
    /**
     * 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;
    /**
     * 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): Object;
    addParams(options: {
        dm: DataManager;
        query: Query;
        params: ParamOption[];
        reqParams: {
            [key: string]: Object;
        };
    }): void;
}
/**
 * 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;
}
//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 */
    ready: Promise<base.Ajax>;
    private isDataAvailable;
    private requests;
    /**
     * 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 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;
}
/**
 * @hidden
 */
export interface ReturnOption {
    result?: ReturnOption;
    count?: number;
    url?: string;
    aggregates?: Aggregates;
}
/**
 * @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 */
    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;
    /**
     * 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 | 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 | 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/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;
    /**
     * 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): 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;
}
/**
 * @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;
}
/**
 * @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/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
     * @isBlazorNullableType true
     */
    left?: number;
    /**
     * Sets the space to be left from the right side of the immediate parent of an element
     * @default 0
     * @isBlazorNullableType true
     */
    right?: number;
    /**
     * Sets the space to be left from the top side of the immediate parent of an element
     * @default 0
     * @isBlazorNullableType true
     */
    top?: number;
    /**
     * Sets the space to be left from the bottom side of the immediate parent of an element
     * @default 0
     * @isBlazorNullableType true
     */
    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
     * @isBlazorNullableType true
     */
    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-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
     * @isBlazorNullableType true
     */
    left: number;
    /**
     * Sets the space to be left from the right side of the immediate parent of an element
     * @default 0
     * @isBlazorNullableType true
     */
    right: number;
    /**
     * Sets the space to be left from the top side of the immediate parent of an element
     * @default 0
     * @isBlazorNullableType true
     */
    top: number;
    /**
     * Sets the space to be left from the bottom side of the immediate parent of an element
     * @default 0
     * @isBlazorNullableType true
     */
    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
     * @isBlazorNullableType true
     */
    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, 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;
}
//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
     * @param availableSize
     */
    measure(availableSize: Size): Size;
    /**
     * Arranges the child elements of the canvas
     */
    arrange(desiredSize: Size, isStack?: boolean): 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-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 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;
    /**
     * Considers the padding of the element when measuring its desired size
     * @param size
     */
    protected applyPadding(size: Size): void;
    /**
     * Finds the offset of the child element with respect to the container
     * @param child
     * @param center
     */
    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;
    /** @private */
    rowDefinitions(): RowDefinition[];
    private rowDefns;
    /** @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;
    /** @private */
    updateProperties(offsetX: number, offsetY: number, width: number, height: number): void;
    /** @private */
    setDefinitions(rows: RowDefinition[], columns: ColumnDefinition[]): void;
    /** @private */
    private addCellInRow;
    /** @private */
    private calculateSize;
    /** @private */
    updateRowHeight(rowId: number, height: number, isConsiderChild: boolean, padding?: number): void;
    private setTextRefresh;
    /** @private */
    updateColumnWidth(colId: number, width: number, isConsiderChild: boolean, padding?: number): void;
    private calculateCellWidth;
    private calculateCellHeight;
    private calculateCellSizeBasedOnChildren;
    private calculateCellWidthBasedOnChildren;
    private calculateCellHeightBasedOnChildren;
    /** @private */
    addRow(rowId: number, rowDefn: RowDefinition, isMeasure: boolean): void;
    /** @private */
    addColumn(columnId: number, column: ColumnDefinition, isMeasure?: boolean): void;
    /** @private */
    removeRow(rowId: number): void;
    /** @private */
    removeColumn(columnId: number): void;
    /** @private */
    updateRowIndex(currentIndex: number, newIndex: number): void;
    /** @private */
    updateColumnIndex(startRowIndex: number, currentIndex: number, newIndex: number): void;
    /** @private */
    measure(availableSize: Size): Size;
    /** @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;
    /**
     * Measures the minimum space that the panel needs
     * @param availableSize
     */
    measure(availableSize: Size): Size;
    /**
     * Arranges the child elements of the stack panel
     * @param desiredSize
     */
    arrange(desiredSize: Size): Size;
    /**
     * Measures the minimum space that the panel needs
     * @param availableSize
     */
    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;
    /**
     * 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;
    /**
     * 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;
}
/**
 * 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
     */
    constructor(nodeId: string, diagramId: string, annotationId?: string);
    private data;
    /**
     * Gets the node id for the element
     */
    nodeId: string;
    /**
     * 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;
    /**
     * Gets or sets the geometry of the html element
     */
    /**
    * Gets or sets the value of the html element
    */
    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
     */
    /**
    * 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-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
     */
    constructor(nodeId: string, diagramId: string);
    private data;
    /**
     * set the node id
     */
    nodeId: string;
    /**
     * set the diagram id
     */
    diagramId: string;
    /**   @private  */
    /**
    * sets the geometry of the native element
    */
    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;
    /**
     * Saves the top left point of the Native Element
     * @private
     */
    templatePosition: PointModel;
    /**
     * Measures minimum space that is required to render the Native Element
     * @param availableSize
     */
    measure(availableSize: Size): Size;
    /**
     * Arranges the Native Element
     * @param desiredSize
     */
    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
     */
    /**
    * 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;
    /** @private */
    getPoints(): PointModel[];
    /**
     * 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-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
     */
    /**
    * 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-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
     * @return {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**   @private  */
    dataTable: Object;
    /**
     * Initialize nodes and connectors when we have a data as JSON
     * @param data
     * @param diagram
     * @private
     */
    initData(data: DataSourceModel, diagram: Diagram): void;
    /**
     * Initialize nodes and connector when we have a data as remote url
     * @param data
     * @param diagram
     * @private
     */
    initSource(data: DataSourceModel, diagram: Diagram): void;
    private applyDataSource;
    /**
     * updateMultipleRootNodes method is used  to update the multiple Root Nodes
     * @param object
     * @param rootnodes
     * @param mapper
     * @param data
     */
    private updateMultipleRootNodes;
    /**
     * Get the node values
     * @param mapper
     * @param item
     * @param diagram
     */
    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
     * @param diagram
     * @param id
     * @param parentId
     */
    private collectionContains;
    /**
     * Get the Connector values
     * @param sourceNode
     * @param targetNode
     * @param 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;
    /**
     * 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 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');
     * ```
     * @deprecated
     */
    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 
     * @blazorNumberEnum
     */
    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
     * @blazorNumberEnum
     */
    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
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    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
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    addInfo?: Object;
    /**
     * Customizes the undo redo functionality 
     * @default undefined
     * @deprecated
     */
    historyManager?: History;
    /**
     * 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
     * @blazorDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getNodeDefaults?: Function | string;
    /**
     * Helps to assign the default properties of nodes
     * @blazorType DiagramNode
     */
    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
     * @blazorDefaultValueIgnore
     * @default undefined
     * @deprecated 
     */
    getConnectorDefaults?: Function | string;
    /**
     * Helps to assign the default properties of connector
     * @blazorType DiagramConnector
     */
    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
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    updateSelection?: Function | string;
    /**
     * Defines the collection of selected items, size and position of the selector
     * @default {}
     * @deprecated
     */
    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 {}
     * @deprecated
     */
    commandManager?: CommandManagerModel;
    /**
     * Triggers after diagram is populated from the external data source
     * @event
     * @blazorProperty 'DataLoaded'
     */
    dataLoaded?: base.EmitType<IDataLoadedEventArgs>;
    /**
     * Triggers when a symbol is dragged into diagram from symbol palette
     * @deprecated
     * @event
     * @blazorProperty 'DragEnter'
     * @blazorType Syncfusion.EJ2.Blazor.Diagrams.IBlazorDragEnterEventArgs
     */
    dragEnter?: base.EmitType<IDragEnterEventArgs>;
    /**
     * Triggers when a symbol is dragged outside of the diagram.
     * @event
     * @blazorProperty 'DragLeave'
     */
    dragLeave?: base.EmitType<IDragLeaveEventArgs>;
    /**
     * Triggers when a symbol is dragged over diagram
     * @event
     * @blazorProperty 'DragOver'
     */
    dragOver?: base.EmitType<IDragOverEventArgs>;
    /**
     * Triggers when a node, connector or diagram is clicked
     * @event
     * @blazorProperty 'Clicked'
     * @blazorType Syncfusion.EJ2.Blazor.Diagrams.IBlazorClickEventArgs
     */
    click?: base.EmitType<IClickEventArgs>;
    /**
     * Triggers when a change is reverted or restored(undo/redo)
     * @event
     * @blazorProperty 'HistoryChanged'
     * @blazorType 'IBlazorHistoryChangeArgs'
     */
    historyChange?: base.EmitType<IHistoryChangeArgs>;
    /**
     * Triggers when a custom entry change is reverted or restored(undo/redo)
     * @event
     * @blazorProperty 'CustomHistoryChanged'
     * @blazorType IBlazorCustomHistoryChangeArgs
     */
    historyStateChange?: base.EmitType<IBlazorCustomHistoryChangeArgs>;
    /**
     * Triggers when a node, connector or diagram model is clicked twice
     * @event
     * @blazorProperty 'OnDoubleClick'
     * @blazorType Syncfusion.EJ2.Blazor.Diagrams.IBlazorDoubleClickEventArgs
     */
    doubleClick?: base.EmitType<IDoubleClickEventArgs>;
    /**
     * Triggers when editor got focus at the time of node’s label or text node editing.
     * @deprecated
     * @event
     * @blazorProperty 'TextEdited'
     */
    textEdit?: base.EmitType<ITextEditEventArgs>;
    /**
     * Triggers when the diagram is zoomed or panned
     * @event
     * @blazorProperty 'ScrollChanged'
     * @blazorType 'IBlazorScrollChangeEventArgs'
     */
    scrollChange?: base.EmitType<IScrollChangeEventArgs>;
    /**
     * Triggers when the selection is changed in diagram
     * @deprecated
     * @event
     * @blazorProperty 'SelectionChanged'
     * @blazorType 'IBlazorSelectionChangeEventArgs'
     */
    selectionChange?: base.EmitType<ISelectionChangeEventArgs>;
    /**
     * Triggers when a node is resized
     * @deprecated
     * @event
     * @blazorProperty 'OnSizeChange'
     */
    sizeChange?: base.EmitType<ISizeChangeEventArgs>;
    /**
     * Triggers when the connection is changed
     * @deprecated
     * @event
     * @blazorProperty 'OnConnectionChange'
     * @blazorType 'IBlazorConnectionChangeEventArgs'
     */
    connectionChange?: base.EmitType<IConnectionChangeEventArgs>;
    /**
     * Triggers when the connector's source point is changed
     * @event
     * @blazorProperty 'OnSourcePointChange'
     * @deprecated
     */
    sourcePointChange?: base.EmitType<IEndChangeEventArgs>;
    /**
     * Triggers when the connector's target point is changed
     * @event
     * @blazorProperty 'OnTargetPointChange'
     * @deprecated
     */
    targetPointChange?: base.EmitType<IEndChangeEventArgs>;
    /**
     * Triggers once the node or connector property changed.
     * @event
     * @blazorProperty 'PropertyChanged'
     * @blazorType Syncfusion.EJ2.Blazor.Diagrams.IBlazorPropertyChangeEventArgs
     */
    propertyChange?: base.EmitType<IPropertyChangeEventArgs>;
    /**
     * Triggers while dragging the elements in diagram
     * @event
     * @blazorProperty 'OnPositionChange'
     * @blazorType Syncfusion.EJ2.Blazor.Diagrams.IBlazorDraggingEventArgs
     */
    positionChange?: base.EmitType<IDraggingEventArgs>;
    /**
     * Triggers after animation is completed for the diagram elements.
     * @event
     * @blazorProperty 'OnAnimationComplete'
     */
    animationComplete?: base.EmitType<Object>;
    /**
     * Triggers when the diagram elements are rotated
     * @deprecated
     * @event
     * @blazorProperty 'OnRotateChange'
     */
    rotateChange?: base.EmitType<IRotationEventArgs>;
    /**
     * Triggers when a node/connector is added/removed to/from the diagram.
     * @deprecated
     * @event
     * @blazorProperty 'OnCollectionChange'
     * @blazorType 'IBlazorCollectionChangeEventArgs'
     */
    collectionChange?: base.EmitType<ICollectionChangeEventArgs>;
    /**
     * Triggers when a mouseDown on the user handle.
     * @event
     * @blazorProperty 'OnUserHandleMouseDown'
     */
    onUserHandleMouseDown?: base.EmitType<UserHandleEventsArgs>;
    /**
     * Triggers when a mouseUp on the user handle.
     * @event
     * @blazorProperty 'OnUserHandleMouseUp'
     */
    onUserHandleMouseUp?: base.EmitType<UserHandleEventsArgs>;
    /**
     * Triggers when a mouseEnter on the user handle.
     * @event
     * @blazorProperty 'OnUserHandleMouseEnter'
     */
    onUserHandleMouseEnter?: base.EmitType<UserHandleEventsArgs>;
    /**
     * Triggers when a mouseLeave on the user handle.
     * @event
     * @blazorProperty 'OnUserHandleMouseLeave'
     */
    onUserHandleMouseLeave?: base.EmitType<UserHandleEventsArgs>;
    /**
     * Triggers when a segment is added/removed to/from the connector.
     * @event
     * @blazorProperty 'OnSegmentCollectionChange'
     * @deprecated
     * @blazorType 'IBlazorSegmentCollectionChangeEventArgs'
     */
    segmentCollectionChange?: base.EmitType<ISegmentCollectionChangeEventArgs>;
    /**
     * Triggers when the state of the expand and collapse icon change for a node.
     * @event
     * @blazorProperty 'OnExpandStateChange'
     */
    expandStateChange?: base.EmitType<IExpandStateChangeEventArgs>;
    /**
     * Triggered when the diagram is rendered completely.
     * @event
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Object>;
    /**
     * Triggered when mouse enters a node/connector.
     * @event
     * @blazorProperty 'MouseEnter'
     * @blazorType Syncfusion.EJ2.Blazor.Diagrams.IBlazorMouseEventArgs
     */
    mouseEnter?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggered when mouse leaves node/connector.
     * @event
     * @blazorProperty 'MouseLeave'
     * @blazorType Syncfusion.EJ2.Blazor.Diagrams.IBlazorMouseEventArgs
     */
    mouseLeave?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggered when mouse hovers a node/connector.
     * @event
     * @blazorProperty 'MouseOver'
     * @blazorType Syncfusion.EJ2.Blazor.Diagrams.IBlazorMouseEventArgs
     */
    mouseOver?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers before opening the context menu
     * @event
     * @blazorProperty 'OnContextMenuOpen'
     * @blazorType Syncfusion.EJ2.Blazor.Diagrams.DiagramBeforeMenuOpenEventArgs
     */
    contextMenuOpen?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before rendering the context menu item
     * @event
     * @blazorProperty 'OnContextMenuItemRender'
     * @blazorType Syncfusion.EJ2.Blazor.Diagrams.DiagramMenuEventArgs
     */
    contextMenuBeforeItemRender?: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers when a context menu item is clicked
     * @event
     * @blazorProperty 'ContextMenuItemClicked'
     * @blazorType Syncfusion.EJ2.Blazor.Diagrams.DiagramMenuEventArgs
     */
    contextMenuClick?: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers when a command executed.
     * @event
     * @blazorProperty 'OnCommandExecuted'
     */
    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
     * @deprecated
     * @event
     * @blazorProperty 'OnDrop'
     * @blazorType 'IBlazorDropEventArgs'
     */
    drop?: base.EmitType<IDropEventArgs>;
}
//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;
    /**
     * `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;
    /**
     * 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;
    /**
     * 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 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');
     * ```
     * @deprecated
     */
    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
     * @blazorNumberEnum
     */
    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
     * @blazorNumberEnum
     */
    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
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    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
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    addInfo: Object;
    /**
     * Customizes the undo redo functionality
     * @default undefined
     * @deprecated
     */
    historyManager: History;
    /**
     * 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
     * @blazorDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getNodeDefaults: Function | string;
    /**
     * Helps to assign the default properties of nodes
     * @blazorType DiagramNode
     */
    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
     * @blazorDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getConnectorDefaults: Function | string;
    /**
     * Helps to assign the default properties of connector
     * @blazorType DiagramConnector
     */
    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
     * @blazorDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    setNodeTemplate: Function | string;
    /**
     * Allows to set accessibility content for diagram objects
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getCustomProperty: Function | string;
    /**
     * Allows the user to set custom tool that corresponds to the given action
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    updateSelection: Function | string;
    /** @private */
    version: number;
    /**
     * Defines the collection of selected items, size and position of the selector
     * @default {}
     * @deprecated
     */
    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 {}
     * @deprecated
     */
    commandManager: CommandManagerModel;
    /**
     * Triggers after diagram is populated from the external data source
     * @event
     * @blazorProperty 'DataLoaded'
     */
    dataLoaded: base.EmitType<IDataLoadedEventArgs>;
    /**
     * Triggers when a symbol is dragged into diagram from symbol palette
     * @deprecated
     * @event
     * @blazorProperty 'DragEnter'
     * @blazorType Syncfusion.EJ2.Blazor.Diagrams.IBlazorDragEnterEventArgs
     */
    dragEnter: base.EmitType<IDragEnterEventArgs>;
    /**
     * Triggers when a symbol is dragged outside of the diagram.
     * @event
     * @blazorProperty 'DragLeave'
     */
    dragLeave: base.EmitType<IDragLeaveEventArgs>;
    /**
     * Triggers when a symbol is dragged over diagram
     * @event
     * @blazorProperty 'DragOver'
     */
    dragOver: base.EmitType<IDragOverEventArgs>;
    /**
     * Triggers when a node, connector or diagram is clicked
     * @event
     * @blazorProperty 'Clicked'
     * @blazorType Syncfusion.EJ2.Blazor.Diagrams.IBlazorClickEventArgs
     */
    click: base.EmitType<IClickEventArgs>;
    /**
     * Triggers when a change is reverted or restored(undo/redo)
     * @event
     * @blazorProperty 'HistoryChanged'
     * @blazorType 'IBlazorHistoryChangeArgs'
     */
    historyChange: base.EmitType<IHistoryChangeArgs>;
    /**
     * Triggers when a custom entry change is reverted or restored(undo/redo)
     * @event
     * @blazorProperty 'CustomHistoryChanged'
     * @blazorType IBlazorCustomHistoryChangeArgs
     */
    historyStateChange: base.EmitType<IBlazorCustomHistoryChangeArgs>;
    /**
     * Triggers when a node, connector or diagram model is clicked twice
     * @event
     * @blazorProperty 'OnDoubleClick'
     * @blazorType Syncfusion.EJ2.Blazor.Diagrams.IBlazorDoubleClickEventArgs
     */
    doubleClick: base.EmitType<IDoubleClickEventArgs>;
    /**
     * Triggers when editor got focus at the time of node’s label or text node editing.
     * @deprecated
     * @event
     * @blazorProperty 'TextEdited'
     */
    textEdit: base.EmitType<ITextEditEventArgs>;
    /**
     * Triggers when the diagram is zoomed or panned
     * @event
     * @blazorProperty 'ScrollChanged'
     * @blazorType 'IBlazorScrollChangeEventArgs'
     */
    scrollChange: base.EmitType<IScrollChangeEventArgs>;
    /**
     * Triggers when the selection is changed in diagram
     * @deprecated
     * @event
     * @blazorProperty 'SelectionChanged'
     * @blazorType 'IBlazorSelectionChangeEventArgs'
     */
    selectionChange: base.EmitType<ISelectionChangeEventArgs>;
    /**
     * Triggers when a node is resized
     * @deprecated
     * @event
     * @blazorProperty 'OnSizeChange'
     */
    sizeChange: base.EmitType<ISizeChangeEventArgs>;
    /**
     * Triggers when the connection is changed
     * @deprecated
     * @event
     * @blazorProperty 'OnConnectionChange'
     * @blazorType 'IBlazorConnectionChangeEventArgs'
     */
    connectionChange: base.EmitType<IConnectionChangeEventArgs>;
    /**
     * Triggers when the connector's source point is changed
     * @event
     * @blazorProperty 'OnSourcePointChange'
     * @deprecated
     */
    sourcePointChange: base.EmitType<IEndChangeEventArgs>;
    /**
     * Triggers when the connector's target point is changed
     * @event
     * @blazorProperty 'OnTargetPointChange'
     * @deprecated
     */
    targetPointChange: base.EmitType<IEndChangeEventArgs>;
    /**
     * Triggers once the node or connector property changed.
     * @event
     * @blazorProperty 'PropertyChanged'
     * @blazorType Syncfusion.EJ2.Blazor.Diagrams.IBlazorPropertyChangeEventArgs
     */
    propertyChange: base.EmitType<IPropertyChangeEventArgs>;
    /**
     * Triggers while dragging the elements in diagram
     * @event
     * @blazorProperty 'OnPositionChange'
     * @blazorType Syncfusion.EJ2.Blazor.Diagrams.IBlazorDraggingEventArgs
     */
    positionChange: base.EmitType<IDraggingEventArgs>;
    /**
     * Triggers after animation is completed for the diagram elements.
     * @event
     * @blazorProperty 'OnAnimationComplete'
     */
    animationComplete: base.EmitType<Object>;
    /**
     * Triggers when the diagram elements are rotated
     * @deprecated
     * @event
     * @blazorProperty 'OnRotateChange'
     */
    rotateChange: base.EmitType<IRotationEventArgs>;
    /**
     * Triggers when a node/connector is added/removed to/from the diagram.
     * @deprecated
     * @event
     * @blazorProperty 'OnCollectionChange'
     * @blazorType 'IBlazorCollectionChangeEventArgs'
     */
    collectionChange: base.EmitType<ICollectionChangeEventArgs>;
    /**
     * Triggers when a mouseDown on the user handle.
     * @event
     * @blazorProperty 'OnUserHandleMouseDown'
     */
    onUserHandleMouseDown: base.EmitType<UserHandleEventsArgs>;
    /**
     * Triggers when a mouseUp on the user handle.
     * @event
     * @blazorProperty 'OnUserHandleMouseUp'
     */
    onUserHandleMouseUp: base.EmitType<UserHandleEventsArgs>;
    /**
     * Triggers when a mouseEnter on the user handle.
     * @event
     * @blazorProperty 'OnUserHandleMouseEnter'
     */
    onUserHandleMouseEnter: base.EmitType<UserHandleEventsArgs>;
    /**
     * Triggers when a mouseLeave on the user handle.
     * @event
     * @blazorProperty 'OnUserHandleMouseLeave'
     */
    onUserHandleMouseLeave: base.EmitType<UserHandleEventsArgs>;
    /**
     * Triggers when a segment is added/removed to/from the connector.
     * @event
     * @blazorProperty 'OnSegmentCollectionChange'
     * @deprecated
     * @blazorType 'IBlazorSegmentCollectionChangeEventArgs'
     */
    segmentCollectionChange: base.EmitType<ISegmentCollectionChangeEventArgs>;
    /**
     * Triggers when the state of the expand and collapse icon change for a node.
     * @event
     * @blazorProperty 'OnExpandStateChange'
     */
    expandStateChange: base.EmitType<IExpandStateChangeEventArgs>;
    /**
     * Triggered when the diagram is rendered completely.
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Object>;
    /**
     * Triggered when mouse enters a node/connector.
     * @event
     * @blazorProperty 'MouseEnter'
     * @blazorType Syncfusion.EJ2.Blazor.Diagrams.IBlazorMouseEventArgs
     */
    mouseEnter: base.EmitType<IMouseEventArgs>;
    /**
     * Triggered when mouse leaves node/connector.
     * @event
     * @blazorProperty 'MouseLeave'
     * @blazorType Syncfusion.EJ2.Blazor.Diagrams.IBlazorMouseEventArgs
     */
    mouseLeave: base.EmitType<IMouseEventArgs>;
    /**
     * Triggered when mouse hovers a node/connector.
     * @event
     * @blazorProperty 'MouseOver'
     * @blazorType Syncfusion.EJ2.Blazor.Diagrams.IBlazorMouseEventArgs
     */
    mouseOver: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers before opening the context menu
     * @event
     * @blazorProperty 'OnContextMenuOpen'
     * @blazorType Syncfusion.EJ2.Blazor.Diagrams.DiagramBeforeMenuOpenEventArgs
     */
    contextMenuOpen: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before rendering the context menu item
     * @event
     * @blazorProperty 'OnContextMenuItemRender'
     * @blazorType Syncfusion.EJ2.Blazor.Diagrams.DiagramMenuEventArgs
     */
    contextMenuBeforeItemRender: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers when a context menu item is clicked
     * @event
     * @blazorProperty 'ContextMenuItemClicked'
     * @blazorType Syncfusion.EJ2.Blazor.Diagrams.DiagramMenuEventArgs
     */
    contextMenuClick: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers when a command executed.
     * @event
     * @blazorProperty 'OnCommandExecuted'
     */
    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
     * @deprecated
     * @event
     * @blazorProperty 'OnDrop'
     * @blazorType 'IBlazorDropEventArgs'
     */
    drop: base.EmitType<IDropEventArgs>;
    /** @private */
    preventUpdate: boolean;
    /** @hidden */
    /** @private */
    localeObj: base.L10n;
    private defaultLocale;
    /** @private */
    currentDrawingObject: Node | Connector;
    /** @private */
    currentSymbol: Node | Connector;
    /** @private */
    diagramRenderer: DiagramRenderer;
    private gridlineSvgLayer;
    private renderer;
    /** @private */
    tooltipObject: popups.Tooltip;
    /** @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 */
    pathTable: {};
    /** @private */
    connectorTable: {};
    /** @private */
    groupTable: {};
    /** @private */
    private htmlLayer;
    /** @private */
    diagramActions: DiagramAction;
    /** @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 */
    selectionConnectorsList: ConnectorModel[];
    /** @private */
    deleteVirtualObject: boolean;
    /** @private */
    realActions: RealAction;
    /** @private */
    previousSelectedObject: (NodeModel | ConnectorModel)[];
    private crudDeleteNodes;
    /** @private */
    selectedObject: {
        helperObject: NodeModel;
        actualObject: NodeModel;
    };
    /**
     * Constructor for creating the widget
     */
    constructor(options?: DiagramModel, element?: HTMLElement | string);
    private clearCollection;
    /**
     * Updates the diagram control when the objects are changed
     * @param newProp Lists the new values of the changed properties
     * @param oldProp Lists the old values of the changed properties
     */
    onPropertyChanged(newProp: DiagramModel, oldProp: DiagramModel): void;
    private updateSnapSettings;
    private updateRulerSettings;
    /**
     * Get the properties to be maintained in the persisted state.
     * @return {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 updateTemplate;
    private resetTemplate;
    private renderInitialCrud;
    /**
     * Returns the module name of the diagram
     */
    getModuleName(): string;
    /**
     * @private
     * Returns the name of class Diagram
     */
    getClassName(): string;
    /**
     * To provide the array of modules needed for control rendering
     * @return {base.ModuleDeclaration[]}
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * Destroys the diagram control
     */
    destroy(): void;
    /**
     * Wires the mouse events with diagram control
     */
    private wireEvents;
    /**
     * Unwires the mouse events from diagram control
     */
    private unWireEvents;
    /**
     * Selects the given collection of objects
     * @param objects Defines the collection of nodes and connectors to be selected
     * @param multipleSelection Defines whether the existing selection has to be cleared or not
     */
    select(objects: (NodeModel | ConnectorModel)[], multipleSelection?: boolean): void;
    /**
     * Selects the all the objects.
     */
    selectAll(): void;
    /**
     * Removes the given object from selection list
     * @param obj Defines the object to be unselected
     */
    unSelect(obj: NodeModel | ConnectorModel): void;
    /**
     * Removes all elements from the selection list
     */
    clearSelection(): void;
    /**
     * Update the diagram clipboard dimension
     */
    updateViewPort(): void;
    private cutCommand;
    /**
     * Removes the selected nodes and connectors from diagram and moves them to diagram clipboard
     */
    cut(): void;
    /**
     * Add a process into the sub-process
     */
    addProcess(process: NodeModel, parentId: string): void;
    /**
     * Remove a process from the sub-process
     */
    removeProcess(id: string): void;
    private pasteCommand;
    /**
     * Adds the given objects/ the objects in the diagram clipboard to diagram control
     * @param obj Defines the objects to be added to diagram
     */
    paste(obj?: (NodeModel | ConnectorModel)[]): void;
    /**
     * fit the diagram to the page with respect to mode and region
     */
    fitToPage(options?: IFitOptions): void;
    /**
     * bring the specified bounds into the viewport
     */
    bringIntoView(bound: Rect): void;
    /**
     * bring the specified bounds to the center of the viewport
     */
    bringToCenter(bound: Rect): void;
    private copyCommand;
    /**
     * Copies the selected nodes and connectors to diagram clipboard
     */
    copy(): Object;
    /**
     * Group the selected nodes and connectors in diagram
     */
    group(): void;
    /**
     * UnGroup the selected nodes and connectors in diagram
     */
    unGroup(): void;
    /**
     * send the selected nodes or connectors back
     */
    sendToBack(): void;
    /**
     * set the active layer
     *  @param layerName defines the name of the layer which is to be active layer
     */
    setActiveLayer(layerName: string): void;
    /**
     * add the layer into diagram
     * @param layer defines the layer model which is to be added
     * @param layerObject defines the object of the layer
     */
    addLayer(layer: LayerModel, layerObject?: Object[]): void;
    /**
     * remove the layer from diagram
     * @param layerId define the id of the layer
     */
    removeLayer(layerId: string): void;
    /**
     * move objects from the layer to another layer from diagram
     * @param objects define the objects id of string array
     */
    moveObjects(objects: string[], targetLayer?: string): void;
    /**
     * move the layer backward
     * @param layerName define the name of the layer
     */
    sendLayerBackward(layerName: string): void;
    /**
     * move the layer forward
     * @param layerName define the name of the layer
     */
    bringLayerForward(layerName: string): void;
    /**
     * clone a layer with its object
     * @param layerName define the name of the layer
     */
    cloneLayer(layerName: string): void;
    /**
     * bring the selected nodes or connectors to front
     */
    bringToFront(): void;
    /**
     * send the selected nodes or connectors forward
     */
    moveForward(): void;
    /**
     * send the selected nodes or connectors back
     */
    sendBackward(): void;
    /**
     * gets the node or connector having the given name
     */
    getObject(name: string): {};
    /**
     * gets the node object for the given node ID
     */
    getNodeObject(id: string): NodeModel;
    /**
     * gets the connector object for the given node ID
     */
    getConnectorObject(id: string): ConnectorModel;
    /**
     * gets the active layer back
     */
    getActiveLayer(): LayerModel;
    private nudgeCommand;
    /**
     * Moves the selected objects towards the given direction
     * @param direction Defines the direction by which the objects have to be moved
     * @param x Defines the distance by which the selected objects have to be horizontally moved
     * @param y Defines the distance by which the selected objects have to be vertically moved
     */
    nudge(direction: NudgeDirection, x?: number, y?: number): void;
    /**
     * Drags the given object by the specified pixels
     * @param obj Defines the nodes/connectors to be dragged
     * @param tx Defines the distance by which the given objects have to be horizontally moved
     * @param ty Defines the distance by which the given objects have to be vertically moved
     */
    drag(obj: NodeModel | ConnectorModel | SelectorModel, tx: number, ty: number): void;
    /**
     * Scales the given objects by the given ratio
     * @param obj Defines the objects to be resized
     * @param sx Defines the ratio by which the objects have to be horizontally scaled
     * @param sy Defines the ratio by which the objects have to be vertically scaled
     * @param 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
     * @param obj Defines the objects to be rotated
     * @param angle Defines the angle by which the objects have to be rotated
     * @param 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
     * @param obj Defines the connector, the end points of which has to be moved
     * @param tx Defines the distance by which the end point has to be horizontally moved
     * @param 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
     * @param obj Defines the connector, the end points of which has to be moved
     * @param tx Defines the distance by which the end point has to be horizontally moved
     * @param 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
     * @param position Defines the position, the objects under which has to be found
     * @param 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
     * @param objects Defines the collection of objects, from which the object has to be found.
     * @param action Defines the action, using which the relevant object has to be found.
     * @param 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)
     * @param objects Defines the collection of objects, from which the object has to be found.
     * @param action Defines the action, using which the relevant object has to be found.
     * @param inAction Defines the active state of the action.
     */
    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
     * @param obj Defines the object, the child element of which has to be found
     * @param position Defines the position, the child element under which has to be found
     */
    findElementUnderMouse(obj: IElement, position: PointModel): DiagramElement;
    /**
     * Defines the action to be done, when the mouse hovers the given element of the given object
     * @param obj Defines the object under mouse
     * @param wrapper Defines the target element of the object under mouse
     * @param position Defines the current mouse position
     * @private
     */
    findActionToBeDone(obj: NodeModel | ConnectorModel, wrapper: DiagramElement, position: PointModel, target?: NodeModel | PointPortModel | ShapeAnnotationModel | PathAnnotationModel): Actions;
    /**
     * Returns the tool that handles the given action
     * @param action Defines the action that is going to be performed
     */
    getTool(action: string): ToolBase;
    /**
     * Defines the cursor that corresponds to the given action
     * @param action Defines the action that is going to be performed
     */
    getCursor(action: string, active: boolean): string;
    /**
     * Initializes the undo redo actions
     * @private
     */
    initHistory(): void;
    /**
     * Adds the given change in the diagram control to the track
     * @param entry Defines the entry/information about a change in diagram
     */
    addHistoryEntry(entry: HistoryEntry): void;
    /** @private */
    historyChangeTrigger(entry: HistoryEntry): 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
     */
    endGroupAction(): void;
    /**
     * Restores the last action that is performed
     */
    undo(): void;
    /**
     * Restores the last undone action
     */
    redo(): void;
    /**
     * Aligns the group of objects to with reference to the first object in the group
     * @param objects Defines the objects that have to be aligned
     * @param option Defines the factor, by which the objects have 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
     * @param objects Defines the objects that have to be equally spaced
     * @param option Defines the factor to distribute the shapes
     */
    distribute(option: DistributeOptions, objects?: (NodeModel | ConnectorModel)[]): void;
    /**
     * Scales the given objects to the size of the first object in the group
     * @param objects Defines the collection of objects that have to be scaled
     * @param option Defines whether the node has to be horizontally scaled, vertically scaled or both
     */
    sameSize(option: SizingOptions, objects?: (NodeModel | ConnectorModel)[]): void;
    /**
     * Scales the diagram control by the given factor
     * @param factor Defines the factor by which the diagram is zoomed
     * @param 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
     * @param 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
     * @param horizontalOffset Defines the horizontal distance to which the diagram has to be scrolled
     * @param verticalOffset Defines the vertical distance to which the diagram has to be scrolled
     */
    pan(horizontalOffset: number, verticalOffset: number, focusedPoint?: PointModel): void;
    /**
     * Resets the zoom and scroller offsets to default values
     */
    reset(): void;
    /** @private */
    triggerEvent(eventName: DiagramEvent, args: Object): void;
    private updateEventValue;
    addNodeToLane(node: NodeModel, swimLane: string, lane: string): void;
    /**
     * Shows tooltip for corresponding diagram object
     * @param obj Defines the object for that tooltip has to be shown
     */
    showTooltip(obj: NodeModel | ConnectorModel): void;
    /**
     * hides tooltip for corresponding diagram object
     * @param obj Defines the object for that tooltip has to be hide
     */
    hideTooltip(obj: NodeModel | ConnectorModel): void;
    /**
     * Adds the given node to diagram control
     * @param obj Defines the node that has to be added to diagram
     */
    addNode(obj: NodeModel, group?: boolean): Node;
    /**
     * Adds the given connector to diagram control
     * @param obj Defines the connector that has to be added to diagram
     */
    addConnector(obj: ConnectorModel): Connector;
    /**
     * Adds the given object to diagram control
     * @param obj Defines the object that has to be added to diagram
     */
    add(obj: NodeModel | ConnectorModel, group?: boolean): Node | Connector;
    private updateBlazorCollectionChange;
    private updateSvgNodes;
    /** @private */
    updateProcesses(node: (Node | Connector)): void;
    /** @private */
    moveSvgNode(nodeId: string): void;
    /**
     * Adds the given annotation to the given node
     * @param annotation Defines the annotation to be added
     * @param node Defines the node to which the annotation has to be added
     */
    addTextAnnotation(annotation: BpmnAnnotationModel, node: NodeModel): void;
    /**
     * Splice the InEdge and OutEdge of the for the node with respect to corresponding connectors that is deleting
     */
    private spliceConnectorEdges;
    /**
     * Remove the dependent connectors if the node is deleted
     * @private
     */
    removeDependentConnector(node: Node): void;
    /** @private */
    removeObjectsFromLayer(obj: (NodeModel | ConnectorModel)): void;
    /** @private */
    removeElements(currentObj: NodeModel | ConnectorModel): void;
    private removeCommand;
    /**
     * Removes the given object from diagram
     * @param 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;
    /** @private  */
    addChild(node: NodeModel, child: string | NodeModel | ConnectorModel, index?: number): void;
    /**
     * Clears all nodes and objects in the diagram
     */
    clear(): void;
    private clearObjects;
    private startEditCommad;
    /**
     * Specified annotation to edit mode
     * @param node Defines node/connector that contains the annotation to be edited
     * @param id Defines annotation id to be edited in the node
     */
    startTextEdit(node?: NodeModel | ConnectorModel, id?: string): void;
    private updateNodeExpand;
    private updateConnectorAnnotation;
    private removeChildrenFromLayout;
    /**
     * Automatically updates the diagram objects based on the type of the layout
     */
    doLayout(): ILayout;
    /**
     * Serializes the diagram control as a string
     */
    saveDiagram(): string;
    /**
     * Converts the given string as a Diagram Control
     * @param data Defines the behavior of the diagram to be loaded
     */
    loadDiagram(data: string): Object;
    /**
     * To  get the html diagram content
     * @param styleSheets defines the collection of style files to be considered while exporting.
     */
    getDiagramContent(styleSheets?: StyleSheetList): string;
    /**
     * To export diagram native/html image
     * @param image defines image content to be exported.
     * @param options defines the image properties.
     */
    exportImage(image: string, options: IExportOptions): void;
    /**
     * To print native/html nodes of diagram
     * @param image defines image content.
     * @param options defines the properties of the image
     */
    printImage(image: string, options: IExportOptions): void;
    /**
     * To limit the history entry of the diagram
     * @param stackLimit defines stackLimit of the history manager.
     */
    setStackLimit(stackLimit: number): void;
    /**
     * To clear history of the diagram
     */
    clearHistory(): void;
    /**
     * To get the bound of the diagram
     */
    getDiagramBounds(): Rect;
    /**
     * To export Diagram
     * @param options defines the how the image to be exported.
     */
    exportDiagram(options: IExportOptions): string | SVGElement;
    /**
     * To print Diagram
     * @param optons defines how the image to be printed.
     */
    print(options: IPrintOptions): void;
    /**
     * Add ports at the run time
     */
    addPorts(obj: NodeModel, ports: PointPortModel[]): void;
    /**
     * Add constraints at run time
     */
    addConstraints(constraintsType: number, constraintsValue: number): number;
    /**
     * Remove constraints at run time
     */
    removeConstraints(constraintsType: number, constraintsValue: number): number;
    /**
     * Add labels in node at the run time in the blazor platform
     */
    addNodeLabels(obj: NodeModel, labels: ShapeAnnotationModel[]): void;
    /**
     * Add labels in connector at the run time in the blazor platform
     */
    addConnectorLabels(obj: ConnectorModel, labels: PathAnnotationModel[]): void;
    /**
     * Add Labels at the run time
     */
    addLabels(obj: NodeModel | ConnectorModel, labels: ShapeAnnotationModel[] | PathAnnotation[] | PathAnnotationModel[]): void;
    /**
     * Add dynamic Lanes to swimLane at runtime
     */
    addLanes(node: NodeModel, lane: LaneModel[], index?: number): void;
    /**
     * Add a phase to a swimLane at runtime
     */
    addPhases(node: NodeModel, phases: PhaseModel[]): void;
    /**
     * Remove dynamic Lanes to swimLane at runtime
     */
    removeLane(node: NodeModel, lane: LaneModel): void;
    /**
     * Remove a phase to a swimLane at runtime
     */
    removePhase(node: NodeModel, phase: PhaseModel): void;
    private removelabelExtension;
    /**
     * Remove Labels at the run time
     */
    removeLabels(obj: Node | ConnectorModel, labels: ShapeAnnotationModel[] | PathAnnotationModel[]): void;
    private removePortsExtenion;
    /**
     * Remove Ports at the run time
     */
    removePorts(obj: Node, ports: PointPortModel[]): void;
    /**
     * @private
     * @param real
     * @param rulerSize
     */
    getSizeValue(real: string | number, rulerSize?: number): string;
    private renderRulers;
    private intOffPageBackground;
    private initDiagram;
    private renderBackgroundLayer;
    private renderGridLayer;
    private renderDiagramLayer;
    private initLayers;
    private renderAdornerLayer;
    private renderPortsExpandLayer;
    private renderHTMLLayer;
    private renderNativeLayer;
    /** @private */
    createSvg(id: string, width: string | Number, height: string | Number): SVGElement;
    private initObjects;
    /** @private */
    initLayerObjects(): void;
    private addToLayer;
    private updateLayer;
    private updateScrollSettings;
    private initData;
    private generateData;
    private makeData;
    private initNodes;
    private initConnectors;
    private setZIndex;
    private initializeDiagramLayers;
    /** @private */
    resetTool(): void;
    private initObjectExtend;
    /** @private */
    initObject(obj: IElement, layer?: LayerModel, independentObj?: boolean, group?: boolean): void;
    private getConnectedPort;
    private scaleObject;
    private updateDefaultLayoutIcons;
    private updateDefaultLayoutIcon;
    /**
     * @private
     */
    updateGroupOffset(node: NodeModel | ConnectorModel, isUpdateSize?: boolean): void;
    private initNode;
    private updateChildPosition;
    private canExecute;
    private updateStackProperty;
    private initViews;
    private initCommands;
    private overrideCommands;
    private initCommandManager;
    /** @private */
    updateNodeEdges(node: Node): void;
    /** @private */
    private updateIconVisibility;
    /** @private */
    updateEdges(obj: Connector): void;
    /** @private */
    refreshDiagram(): void;
    private updateCanupdateStyle;
    private getZindexPosition;
    /** @private */
    updateDiagramObject(obj: (NodeModel | ConnectorModel), canIgnoreIndex?: boolean): void;
    /** @private  */
    updateGridContainer(grid: GridPanel): void;
    /** @private  */
    getObjectsOfLayer(objectArray: string[]): (NodeModel | ConnectorModel)[];
    /** @private */
    refreshDiagramLayer(): void;
    /** @private */
    refreshCanvasLayers(view?: View): void;
    private renderBasicElement;
    private refreshElements;
    private renderTimer;
    /** @private */
    refreshCanvasDiagramLayer(view: View): void;
    /** @private */
    updatePortVisibility(node: Node, portVisibility: PortVisibility, inverse?: Boolean): void;
    /** @private */
    refreshSvgDiagramLayer(view: View): void;
    /** @private */
    removeVirtualObjects(clearIntervalVal: Object): void;
    /** @private */
    updateTextElementValue(object: NodeModel | ConnectorModel): void;
    /** @private */
    updateVirtualObjects(collection: string[], remove: boolean, tCollection?: string[]): void;
    /** @private */
    renderDiagramElements(canvas: HTMLCanvasElement | SVGElement, renderer: DiagramRenderer, htmlLayer: HTMLElement, transform?: boolean, fromExport?: boolean, isOverView?: boolean): void;
    /** @private */
    updateBridging(isLoad?: boolean): void;
    /** @private */
    setCursor(cursor: string): void;
    /** @private */
    clearCanvas(view: View): void;
    /** @private */
    updateScrollOffset(): void;
    /** @private */
    setOffset(offsetX: number, offsetY: number): void;
    /** @private */
    setSize(width: number, height: number): void;
    /** @private */
    transformLayers(): void;
    /**
     * Defines how to remove the Page breaks
     * @private
     */
    removePageBreaks(): void;
    /**
     * Defines how the page breaks has been rendered
     * @private
     */
    renderPageBreaks(bounds?: Rect): void;
    private validatePageSize;
    /**
     * @private
     */
    setOverview(overview: View, id?: string): void;
    private renderNodes;
    private updateThumbConstraints;
    /** @private */
    renderSelector(multipleSelection: boolean, isSwimLane?: boolean): void;
    /** @private */
    updateSelector(): void;
    /** @private */
    renderSelectorForAnnotation(selectorModel: Selector, selectorElement: (SVGElement | HTMLCanvasElement)): void;
    /** @private */
    drawSelectionRectangle(x: number, y: number, width: number, height: number): void;
    /**
     * @private
     */
    renderHighlighter(element: DiagramElement): void;
    /**
     * @private
     */
    clearHighlighter(): void;
    /** @private */
    getNodesConnectors(selectedItems: (NodeModel | ConnectorModel)[]): (NodeModel | ConnectorModel)[];
    /** @private */
    clearSelectorLayer(): void;
    /** @private */
    getWrapper(nodes: Container, id: string): DiagramElement;
    /** @private */
    getEndNodeWrapper(node: NodeModel, connector: ConnectorModel, source: boolean): DiagramElement;
    private containsMargin;
    private focusOutEdit;
    private endEditCommand;
    /**
     * @private
     */
    endEdit(): void;
    /** @private */
    canLogChange(): boolean;
    private modelChanged;
    private resetDiagramActions;
    /** @private */
    removeNode(node: NodeModel | ConnectorModel): void;
    /** @private */
    deleteGroup(node: NodeModel): void;
    /** @private */
    updateObject(actualObject: Node | Connector, oldObject: Node | Connector, changedProp: Node | Connector): void;
    private nodePropertyChangeExtend;
    private swimLaneNodePropertyChange;
    /** @private */
    nodePropertyChange(actualObject: Node, oldObject: Node, node: Node, isLayout?: boolean, rotate?: boolean, propertyChange?: boolean): void;
    private updatePorts;
    private updateFlipOffset;
    private updateUMLActivity;
    private updateConnectorProperties;
    /** @private */
    updateConnectorEdges(actualObject: Node): void;
    private connectorProprtyChangeExtend;
    /** @private */
    connectorPropertyChange(actualObject: Connector, oldProp: Connector, newProp: Connector, disableBridging?: boolean, propertyChange?: boolean): void;
    private getpropertyChangeArgs;
    private triggerPropertyChange;
    private findInOutConnectPorts;
    private getPoints;
    /**
     * update the  opacity  and visibility for the node  once the layout animation starts
     */
    /** @private */
    updateNodeProperty(element: Container, visible?: boolean, opacity?: number): void;
    /**
     * checkSelected Item for Connector
     * @private
     */
    checkSelectedItem(actualObject: Connector | Node): boolean;
    /**
     * Updates the visibility of the diagram container
     * @private
     */
    private updateDiagramContainerVisibility;
    /**
     * Updates the visibility of the node/connector
     * @private
     */
    updateElementVisibility(element: Container, obj: Connector | Node, visible: boolean): void;
    private updateAnnotations;
    /** @private */
    updateAnnotation(changedObject: AnnotationModel, actualAnnotation: ShapeAnnotationModel, nodes: Container, actualObject?: Object, canUpdateSize?: boolean): void;
    private updateAnnotationContent;
    private updateAnnotationWrapper;
    /** @private */
    updatePort(changedObject: PointPortModel, actualPort: PointPortModel, nodes: Container): void;
    /** @private */
    updateIcon(actualObject: Node): void;
    private getPortContainer;
    private updateTooltip;
    /** @private */
    updateQuad(obj: IElement): void;
    /** @private */
    removeFromAQuad(obj: IElement): void;
    /** @private */
    updateGroupSize(node: NodeModel | ConnectorModel): void;
    private updatePage;
    /** @private */
    protectPropertyChange(enable: boolean): void;
    /** @private */
    updateShadow(nodeShadow: ShadowModel, changedShadow: ShadowModel): void;
    /** @private */
    updateMargin(node: Node, changes: Node): void;
    private initDroppables;
    private getDropEventArgs;
    private removeChildInNodes;
    private getBlazorDragEventArgs;
    private findChild;
    private getChildren;
    private addChildNodes;
    private moveNode;
    moveObjectsUp(node: NodeModel | ConnectorModel, currentLayer: LayerModel): void;
    /**
     * Inserts newly added element into the database
     */
    insertData(node?: Node | Connector): object;
    /**
     * updates the user defined element properties into the existing database
     */
    updateData(node?: Node | Connector): object;
    /**
     * Removes the user deleted element from the existing database
     */
    removeData(node?: Node | Connector): object;
    private crudOperation;
    private processCrudCollection;
    private parameterMap;
    private getNewUpdateNodes;
    private getDeletedNodes;
    private raiseAjaxPost;
}
//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 
     * @blazorDefaultValueIgnore
     */
    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
     * @blazorDefaultValueIgnore
     */
    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
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    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
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    crudAction?: CrudActionModel;
    /**
     * define connectorDataSource collection
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    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
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    crudAction: CrudActionModel;
    /**
     * define connectorDataSource collection
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @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[];
    /**
     * 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
     * @blazorNumberEnum
     */
    constraints?: SnapConstraints;
    /**
     * Defines the angle by which the object needs to be snapped
     * @default 5
     */
    snapAngle?: number;
    /**
     * Sets the minimum distance between the selected object and the nearest object
     * @default 5
     */
    snapObjectDistance?: number;
}
//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[];
    /**
     * 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
     * @blazorNumberEnum
     */
    constraints: SnapConstraints;
    /**
     * Defines the angle by which the object needs to be snapped
     * @default 5
     */
    snapAngle: number;
    /**
     * Sets the minimum distance between the selected object and the nearest object
     * @default 5
     */
    snapObjectDistance: number;
}
//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
     */
    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
     * @blazorDefaultValueIgnore
     * @aspNumberEnum
     * @blazorNumberEnum
     * @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
     * @blazorDefaultValueIgnore
     * @aspNumberEnum
     * @blazorNumberEnum
     * @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
     * @blazorDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    canExecute?: Function | string;
    /**
     * Defines what to be executed when the key combination is recognized
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    show?: boolean;
    /**
     * Shows only the custom context menu items
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @aspNumberEnum
     * @blazorNumberEnum
     * @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
     * @blazorDefaultValueIgnore
     * @aspNumberEnum
     * @blazorNumberEnum
     * @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
     * @blazorDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    canExecute: Function | string;
    /**
     * Defines what to be executed when the key combination is recognized
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @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;
    /**
     * @private
     * Returns the name of class Command
     */
    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
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    show: boolean;
    /**
     * Shows only the custom context menu items
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @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/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 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;
}
/**
 * Interface for a class ScrollSettings
 */
export interface ScrollSettingsModel {
    /**
     * Defines horizontal offset of the scroller
     * @default 0
     * @isBlazorNullableType true
     */
    horizontalOffset?: number;
    /**
     * Defines vertical offset of the scroller
     * @default 0
     * @isBlazorNullableType true
     */
    verticalOffset?: number;
    /**
     * Defines the currentZoom value of diagram
     * @default 1
     */
    currentZoom?: number;
    /**
     * Allows to read the viewport width of the diagram
     * @default 0
     * @isBlazorNullableType true
     */
    viewPortWidth?: number;
    /**
     * Allows to read the viewport height of the diagram
     * @default 0
     * @isBlazorNullableType true
     */
    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
     * @blazorDefaultValueIgnore
     * @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;
}
//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;
}
/**
 * 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;
}
/**
 * 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
     * @isBlazorNullableType true
     */
    horizontalOffset: number;
    /**
     * Defines vertical offset of the scroller
     * @default 0
     * @isBlazorNullableType true
     */
    verticalOffset: number;
    /**
     * Defines the currentZoom value of diagram
     * @default 1
     */
    currentZoom: number;
    /**
     * Allows to read the viewport width of the diagram
     * @default 0
     * @isBlazorNullableType true
     */
    viewPortWidth: number;
    /**
     * Allows to read the viewport height of the diagram
     * @default 0
     * @isBlazorNullableType true
     */
    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
     * @blazorDefaultValueIgnore
     * @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;
}
//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
 */
/**
 * 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';
/**
 * 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
 */
export  type BranchTypes = 
/**
 * Left - Sets the branch type as Left
 */
'Left' | 
/**
 * Right - Sets the branch type as Right
 */
'Right';
/**
 * 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 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';
/**
 * 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
 * @blazorNumberEnum
 */
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
 * @blazorNumberEnum
 */
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
 * @blazorNumberEnum
 * @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 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 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
 * @blazorNumberEnum
 * @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 all constraints. */
    Default = 77374
}
/**
 * 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
 * @blazorNumberEnum
 * @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
 * @blazorNumberEnum
 * @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,
    /** hide all resize support for node */
    HideThumbs = 16777216,
    /** 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,
    /** 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
}
/** 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
 * @blazorNumberEnum
 * @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
 * @blazorNumberEnum
 * @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 = 
/** 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' | 
/** Basic - Sets the type of the node as Basic */
'Basic' | 
/** 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 = 
/** 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' | 
/** Terminator - Sets the type of the flow shape as Terminator */
'Terminator' | 
/** 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 = 
/** None - Sets the type of the Bpmn Activity as None */
'None' | 
/** Task - Sets the type of the Bpmn Activity as Task */
'Task' | 
/** 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 = 
/** Default - Sets the type of the sequence flow as Default */
'Default' | 
/** Normal - Sets the type of the sequence flow as Normal */
'Normal' | 
/** 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';
/**
 * 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 = 
/** None - Sets the decorator shape as None */
'None' | 
/** Arrow - Sets the decorator shape as Arrow */
'Arrow' | 
/** 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 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';
/**
 * 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
 * @blazorNumberEnum
 * @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
 * @blazorNumberEnum
 * @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
}
/** @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
}
/** @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
}
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
 * @blazorNumberEnum
 * @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';
/**
 * 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 = '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.
 */
export  type Multiplicity = 'OneToOne' | 'OneToMany' | 'ManyToOne';
//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
 *
 */
/** @private */
export  function findToolToActivate(obj: Object, wrapper: DiagramElement, position: PointModel, diagram: Diagram, touchStart?: ITouches[] | TouchList, touchMove?: ITouches[] | TouchList, target?: NodeModel | PointPortModel | ShapeAnnotationModel | PathAnnotationModel): Actions;
/** @private */
export  function findPortToolToActivate(diagram: Diagram, target?: NodeModel | PointPortModel, touchStart?: ITouches[] | TouchList, touchMove?: ITouches[] | TouchList): Actions;
/** @private */
export  function contains(mousePosition: PointModel, corner: PointModel, padding: number): boolean;
/** @private */
export  function hasSelection(diagram: Diagram): boolean;
/** @private */
export  function hasSingleConnection(diagram: Diagram): boolean;
/** @private */
export  function isSelected(diagram: Diagram, element: Object, firstLevel?: boolean, wrapper?: DiagramElement): boolean;
/** @private */
export  type Actions = 'None' | 'Select' | 'Drag' | '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';
/** @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  */
    connectorsTable: Object[];
    /**   @private  */
    processTable: {};
    /** @private */
    isContainer: boolean;
    private state;
    private diagram;
    private childTable;
    private parentTable;
    /**   @private  */
    readonly snappingModule: Snapping;
    /**   @private  */
    readonly layoutAnimateModule: LayoutAnimation;
    constructor(diagram: Diagram);
    /** @private */
    startTransaction(protectChange: boolean): void;
    /** @private */
    endTransaction(protectChange: boolean): void;
    /**
     * @private
     */
    showTooltip(node: IElement, position: PointModel, content: string | HTMLElement, toolName: string, isTooltipVisible: boolean): void;
    /**
     * @private
     */
    closeTooltip(): void;
    /**
     * @private
     */
    canEnableDefaultTooltip(): boolean;
    /**
     * @private
     */
    updateSelector(): void;
    /**
     * @private
     */
    triggerEvent(event: DiagramEvent, args: Object): void;
    /**
     * @private
     */
    dragOverElement(args: MouseEventArgs, currentPosition: PointModel): void;
    /**
     * @private
     */
    disConnect(obj: IElement, endPoint?: string): void;
    private connectionEventChange;
    /**
     * @private
     */
    findTarget(element: DiagramElement, argsTarget: IElement, source?: boolean, connection?: boolean): NodeModel | PointPortModel | ShapeAnnotationModel | PathAnnotationModel;
    /**
     * @private
     */
    canDisconnect(endPoint: string, args: MouseEventArgs, targetPortId: string, targetNodeId: string): boolean;
    /**
     * @private
     */
    changeAnnotationDrag(args: MouseEventArgs): void;
    /**
     * @private
     */
    connect(endPoint: string, args: MouseEventArgs): void;
    /** @private */
    cut(): void;
    /** @private */
    addLayer(layer: LayerModel, objects?: Object[]): void;
    /** @private */
    getObjectLayer(objectName: string): LayerModel;
    /** @private */
    getLayer(layerName: string): LayerModel;
    /** @private */
    removeLayer(layerId: string): void;
    /** @private */
    moveObjects(objects: string[], targetLayer?: string): void;
    /** @private */
    cloneLayer(layerName: string): void;
    /** @private */
    copy(): Object;
    /** @private */
    copyObjects(): Object[];
    private copyProcesses;
    /** @private */
    group(): void;
    /** @private */
    unGroup(obj?: NodeModel): void;
    /** @private */
    paste(obj: (NodeModel | ConnectorModel)[]): void;
    private getNewObject;
    private cloneConnector;
    private cloneNode;
    private getAnnotation;
    private cloneSubProcesses;
    private cloneGroup;
    /** @private */
    translateObject(obj: Node | Connector, groupnodeID?: string): void;
    /**
     * @private
     */
    drawObject(obj: Node | Connector): Node | Connector;
    /**
     * @private
     */
    addObjectToDiagram(obj: Node | Connector): void;
    /**
     * @private
     */
    addText(obj: Node | Connector, currentPosition: PointModel): void;
    private updateArgsObject;
    private updateSelectionChangeEventArgs;
    /** @private */
    selectObjects(obj: (NodeModel | ConnectorModel)[], multipleSelection?: boolean, oldValue?: (NodeModel | ConnectorModel)[]): void;
    /**
     * @private
     */
    findParent(node: Node): Node;
    private selectProcesses;
    private selectGroup;
    /**
     * @private
     */
    private selectBpmnSubProcesses;
    /**
     * @private
     */
    private hasProcesses;
    /** @private */
    select(obj: NodeModel | ConnectorModel, multipleSelection?: boolean, preventUpdate?: boolean): void;
    private getObjectCollectionId;
    private updateBlazorSelectorModel;
    /** @private */
    labelSelect(obj: NodeModel | ConnectorModel, textWrapper: DiagramElement): void;
    /** @private */
    unSelect(obj: NodeModel | ConnectorModel): void;
    /** @private */
    getChildElements(child: DiagramElement[]): string[];
    /** @private */
    moveSvgNode(nodeId: string, targetID: string): void;
    /** @private */
    sendLayerBackward(layerName: string): void;
    /** @private */
    bringLayerForward(layerName: string): void;
    /** @private */
    sendToBack(): void;
    /** @private */
    bringToFront(): void;
    /** @private */
    sortByZIndex(nodeArray: Object[], sortID?: string): Object[];
    /** @private */
    sendForward(): void;
    /** @private */
    sendBackward(): void;
    /**   @private  */
    updateNativeNodeIndex(nodeId: string, targetID?: string): void;
    /**   @private  */
    initSelectorWrapper(): void;
    /** @private */
    doRubberBandSelection(region: Rect): void;
    private clearSelectionRectangle;
    /** @private */
    dragConnectorEnds(endPoint: string, obj: IElement, point: PointModel, segment: BezierSegmentModel, target?: IElement, targetPortId?: string): boolean;
    /**   @private  */
    getSelectedObject(): (NodeModel | ConnectorModel)[];
    /** @private */
    clearSelection(triggerAction?: boolean): void;
    /** @private */
    clearSelectedItems(): void;
    /**
     * @private
     */
    removeStackHighlighter(): void;
    /**
     * @private
     */
    renderStackHighlighter(args: MouseEventArgs, target?: IElement): 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;
    /** @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;
    /**
     * @private
     * Remove terinal segment in initial
     */
    removeTerminalSegment(connector: Connector, changeTerminal?: boolean): void;
    /**
     * Change the connector endPoint from point to node
     */
    private changeSourceEndToNode;
    /**
     * Translate the bezier points during the interaction
     */
    private translateBezierPoints;
    /** @private */
    dragTargetEnd(obj: ConnectorModel, tx: number, ty: number, preventUpdate?: boolean, point?: PointModel, endPoint?: string, update?: boolean, segment?: OrthogonalSegmentModel | BezierSegmentModel | StraightSegmentModel): boolean;
    /** @private */
    dragControlPoint(obj: ConnectorModel, tx: number, ty: number, preventUpdate?: boolean, segmentNumber?: number): boolean;
    /** @private */
    rotateObjects(parent: NodeModel | SelectorModel, objects: (NodeModel | ConnectorModel)[], angle: number, pivot?: PointModel, includeParent?: boolean): void;
    /** @private */
    snapConnectorEnd(currentPosition: PointModel): PointModel;
    /**   @private  */
    snapAngle(angle: number): number;
    /**   @private  */
    rotatePoints(conn: Connector, angle: number, pivot: PointModel): void;
    private updateInnerParentProperties;
    /** @private */
    scale(obj: NodeModel | ConnectorModel, sw: number, sh: number, pivot: PointModel, refObject?: IElement): boolean;
    /** @private */
    getAllDescendants(node: NodeModel, nodes: (NodeModel | ConnectorModel)[], includeParent?: boolean, innerParent?: boolean): (NodeModel | ConnectorModel)[];
    /**   @private  */
    getChildren(node: NodeModel, nodes: (NodeModel | ConnectorModel)[]): (NodeModel | ConnectorModel)[];
    /** @private */
    cloneChild(id: string): NodeModel;
    /** @private */
    scaleObject(sw: number, sh: number, pivot: PointModel, obj: IElement, element: DiagramElement, refObject: IElement): void;
    private scaleConnector;
    /** @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;
    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): 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 */
    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;
    /** @private */
    distribute(objects: (NodeModel | ConnectorModel)[], option: DistributeOptions): void;
    /** @private */
    sameSize(objects: (NodeModel | ConnectorModel)[], option: SizingOptions): void;
    private storeObject;
    /** @private */
    scroll(scrollX: number, scrollY: number, focusPoint?: PointModel): void;
    /**
     * @private
     */
    drawHighlighter(element: IElement): void;
    /**
     * @private
     */
    removeHighlighter(): void;
    /**
     * @private
     */
    renderContainerHelper(node: NodeModel | SelectorModel): NodeModel | ConnectorModel;
    /**
     * @private
     */
    isParentAsContainer(node: NodeModel, isChild?: boolean): boolean;
    /**
     * @private
     */
    dropChildToContainer(parent: NodeModel, node: NodeModel): void;
    /** @private */
    checkSelection(selector: SelectorModel, corner: string): void;
    /** @private */
    zoom(scale: number, scrollX: number, scrollY: number, focusPoint?: PointModel): void;
}
/** @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);
    /**   @private  */
    mouseDown(args: MouseEventArgs): void;
    /**   @private  */
    mouseMove(args: MouseEventArgs): boolean;
    /**   @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 connector editing module
     * @return {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/interaction/container-interaction.d.ts
/**
 * Interaction for Container
 */
/** @private */
export  function updateCanvasBounds(diagram: Diagram, obj: NodeModel | ConnectorModel, position: PointModel, isBoundsUpdate: boolean): boolean;
export  function removeChildInContainer(diagram: Diagram, obj: NodeModel | ConnectorModel, position: PointModel, isBoundsUpdate: boolean): void;
/** @private */
export  function findBounds(obj: NodeModel, columnIndex: number, isHeader: boolean): Rect;
/** @private */
export  function createHelper(diagram: Diagram, obj: Node): Node;
/** @private */
export  function renderContainerHelper(diagram: Diagram, obj: SelectorModel | NodeModel): NodeModel | ConnectorModel;
/** @private */
export  function checkParentAsContainer(diagram: Diagram, obj: NodeModel | ConnectorModel, isChild?: boolean): boolean;
/** @private */
export  function checkChildNodeInContainer(diagram: Diagram, obj: NodeModel): void;
/**
 * @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;
/** @private */
export  function renderStackHighlighter(element: DiagramElement, isVertical: Boolean, position: PointModel, diagram: Diagram, isUml?: boolean, isSwimlane?: boolean): void;
/** @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 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 checkAutoScroll;
    /** @private */
    mouseUp(evt: PointerEvent): void;
    private getBlazorClickEventArgs;
    addSwimLaneObject(selectedNode: NodeModel): void;
    /** @private */
    mouseLeave(evt: PointerEvent): void;
    /** @private */
    mouseWheel(evt: WheelEvent): void;
    /** @private */
    keyDown(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): 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;
}
/** @private */
export interface HistoryLog {
    hasStack?: boolean;
    isPreventHistory?: boolean;
}
//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 */
    lineRouting(diagram: Diagram): void;
    /** @private */
    renderVirtualRegion(diagram: Diagram, isUpdate?: boolean): void;
    private findNodes;
    private updateNodesInVirtualRegion;
    private intersectRect;
    private findEndPoint;
    /** @private */
    refreshConnectorSegments(diagram: Diagram, connector: Connector, isUpdate: boolean): void;
    private findEdgeBoundary;
    private checkObstacles;
    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 module
     * @return {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    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;
}
//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;
    /** @private */
    /** @private */
    viewPortHeight: number;
    /** @private */
    /** @private */
    currentZoom: number;
    /** @private */
    /** @private */
    viewPortWidth: number;
    /** @private */
    /** @private */
    horizontalOffset: number;
    /** @private */
    /** @private */
    verticalOffset: number;
    private diagramWidth;
    private diagramHeight;
    /** @private */
    scrollerWidth: number;
    private hScrollSize;
    private vScrollSize;
    constructor(diagram: Diagram);
    /** @private */
    updateScrollOffsets(hOffset?: number, vOffset?: number): void;
    /** @private */
    setScrollOffset(hOffset: number, vOffset: number): void;
    /** @private */
    getObjects(coll1: string[], coll2: string[]): string[];
    /**   @private  */
    virtualizeElements(): void;
    /** @private */
    setSize(): void;
    /** @private */
    setViewPortSize(width: number, height: number): void;
    /**
     * To get page pageBounds
     * @private
     */
    getPageBounds(boundingRect?: boolean, region?: DiagramRegions, hasPadding?: boolean): Rect;
    /**
     * To get page break when PageBreak is set as true
     * @private
     */
    getPageBreak(pageBounds: Rect): Segment[];
    /** @private */
    zoom(factor: number, deltaX?: number, deltaY?: number, focusPoint?: PointModel): void;
    /** @private */
    fitToPage(options?: IFitOptions): void;
    /** @private */
    bringIntoView(rect: Rect): void;
    /** @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
     * @isBlazorNullableType true
     */
    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;
}
//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
     * @isBlazorNullableType true
     */
    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;
    /**
     * @private
     * Returns the name of class UserHandle
     */
    getClassName(): string;
}
//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;
    /** @private */
    constructor(left: number, top: number, width: number, height: number, spatialSearching: SpatialSearch);
    /** @private */
    findQuads(currentViewPort: Rect, quads: Quad[]): void;
    private isIntersect;
    /** @private */
    selectQuad(): Quad;
    private getQuad;
    /** @private */
    isContained(): boolean;
    /** @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;
    /** @private */
    constructor(objectTable: Object);
    /** @private */
    removeFromAQuad(node: IGroupable): void;
    private update;
    private addIntoAQuad;
    /** @private */
    private objectIndex;
    /** @private */
    updateQuad(node: IGroupable): boolean;
    private isWithinPageBounds;
    /** @private */
    findQuads(region: Rect): Quad[];
    /** @private */
    findObjects(region: Rect): IGroupable[];
    /** @private */
    updateBounds(node: IGroupable): boolean;
    private findBottom;
    private findRight;
    private findLeft;
    private findTop;
    /** @private */
    setCurrentNode(node: IGroupable): void;
    /** @private */
    getPageBounds(originX?: number, originY?: number): Rect;
    /** @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 command Command that is corresponding to the current action
     */
    constructor(command: CommandHandler, protectChange?: boolean);
    /**
     * Command that is corresponding to the current action
     */
    protected commandHandler: CommandHandler;
    /**
     * 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 startAction(currentElement: IElement): void;
    /**   @private  */
    mouseDown(args: MouseEventArgs): void;
    checkPropertyValue(): void;
    /**   @private  */
    mouseMove(args: MouseEventArgs): boolean;
    /**   @private  */
    mouseUp(args: MouseEventArgs): void;
    protected endAction(): void;
    /**   @private  */
    mouseWheel(args: MouseEventArgs): void;
    /**   @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;
}
/**
 * Helps to select the objects
 */
export  class SelectTool extends ToolBase {
    private action;
    constructor(commandHandler: CommandHandler, protectChange: boolean, action?: Actions);
    /**   @private  */
    mouseDown(args: MouseEventArgs): void;
    /**   @private  */
    mouseMove(args: MouseEventArgs): boolean;
    /**   @private  */
    mouseUp(args: MouseEventArgs): void;
    /**   @private  */
    mouseLeave(args: MouseEventArgs): void;
}
/**
 * Helps to edit the selected connectors
 */
export  class ConnectTool extends ToolBase {
    protected endPoint: string;
    /**   @private  */
    selectedSegment: BezierSegment;
    constructor(commandHandler: CommandHandler, endPoint: string);
    /**   @private  */
    mouseDown(args: MouseEventArgs): void;
    /**   @private  */
    mouseUp(args: MouseEventArgs): void;
    /**   @private  */
    mouseMove(args: MouseEventArgs): boolean;
    /**   @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;
    constructor(commandHandler: CommandHandler, objType?: ObjectTypes);
    /**   @private  */
    mouseDown(args: MouseEventArgs): void;
    /**   @private  */
    mouseUp(args: MouseEventArgs, isPreventHistory?: boolean): void;
    private getBlazorPositionChangeEventArgs;
    /**   @private  */
    mouseMove(args: MouseEventArgs): boolean;
    private getTooltipContent;
    /**   @private  */
    mouseLeave(args: MouseEventArgs): void;
    /**   @private  */
    endAction(): void;
}
/**
 * Rotates the selected objects
 */
export  class RotateTool extends ToolBase {
    constructor(commandHandler: CommandHandler);
    /**   @private  */
    mouseDown(args: MouseEventArgs): void;
    /**   @private  */
    mouseUp(args: MouseEventArgs): void;
    /**   @private  */
    mouseMove(args: MouseEventArgs): boolean;
    private getTooltipContent;
    /**   @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;
    /**   @private  */
    initialOffset: PointModel;
    /**   @private  */
    initialBounds: Rect;
    constructor(commandHandler: CommandHandler, corner: string);
    /**   @private  */
    mouseDown(args: MouseEventArgs): void;
    /**   @private  */
    mouseUp(args: MouseEventArgs, isPreventHistory?: boolean): boolean;
    /**   @private  */
    mouseMove(args: MouseEventArgs): boolean;
    /**   @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
     */
    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);
    /**   @private  */
    mouseDown(args: MouseEventArgs): void;
    /**   @private  */
    mouseMove(args: MouseEventArgs): boolean;
    /**   @private  */
    mouseUp(args: MouseEventArgs): void;
    /**   @private  */
    endAction(): void;
    /**   @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);
    /**   @private  */
    mouseDown(args: MouseEventArgs): void;
    /**   @private  */
    mouseMove(args: MouseEventArgs): boolean;
    /**   @private  */
    mouseUp(args: MouseEventArgs): void;
    /**   @private  */
    endAction(): void;
    /**   @private  */
    mouseLeave(args: MouseEventArgs): void;
}
export  class TextDrawingTool extends ToolBase {
    /**   @private  */
    drawingNode: Node | Connector;
    constructor(commandHandler: CommandHandler);
    /**   @private  */
    mouseDown(args: MouseEventArgs): void;
    /**   @private  */
    mouseMove(args: MouseEventArgs): boolean;
    /**   @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);
    /**   @private  */
    mouseDown(args: MouseEventArgs): void;
    /**   @private  */
    mouseMove(args: MouseEventArgs): boolean;
    /**   @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);
    /**   @private  */
    mouseUp(args: MouseEventArgs): void;
}
/**
 * Opens the annotation hypeLink at mouse up
 */
export  class LabelTool extends ToolBase {
    constructor(commandHandler: CommandHandler);
    /**   @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);
    /**   @private  */
    mouseDown(args: MouseEventArgs): void;
    /**   @private  */
    mouseMove(args: MouseEventArgs): boolean;
    /**   @private  */
    mouseUp(args: MouseEventArgs, dblClickArgs?: IDoubleClickEventArgs | IClickEventArgs): void;
    /**   @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);
    /**   @private  */
    mouseMove(args: MouseEventArgs): boolean;
    /**   @private  */
    mouseDown(args: MouseEventArgs): void;
    /**   @private  */
    mouseWheel(args: MouseEventArgs): void;
    /**   @private  */
    mouseUp(args: MouseEventArgs): void;
    /**   @private  */
    endAction(): void;
}
export  class LabelDragTool extends ToolBase {
    private annotationId;
    constructor(commandHandler: CommandHandler);
    /**   @private  */
    mouseDown(args: MouseEventArgs): void;
    /**   @private  */
    mouseMove(args: MouseEventArgs): boolean;
    /**   @private  */
    mouseUp(args: MouseEventArgs): void;
    /**   @private  */
    mouseLeave(args: MouseEventArgs): void;
}
export  class LabelResizeTool extends ToolBase {
    private corner;
    private annotationId;
    private initialBounds;
    constructor(commandHandler: CommandHandler, corner: Actions);
    /**   @private  */
    mouseDown(args: MouseEventArgs): void;
    /**   @private  */
    mouseMove(args: MouseEventArgs): boolean;
    /**   @private  */
    mouseUp(args: MouseEventArgs): void;
    /**   @private  */
    mouseLeave(args: MouseEventArgs): void;
    /**   @private  */
    resizeObject(args: MouseEventArgs): void;
}
export  class LabelRotateTool extends ToolBase {
    private annotationId;
    constructor(commandHandler: CommandHandler);
    /**   @private  */
    mouseDown(args: MouseEventArgs): void;
    /**   @private  */
    mouseMove(args: MouseEventArgs): boolean;
    /**   @private  */
    mouseUp(args: MouseEventArgs): void;
    /**   @private  */
    mouseLeave(args: MouseEventArgs): void;
}
//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
     * @return {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**   @private  */
    doLayout(nodes: INode[], nameTable: {}, layout: Layout, viewPort: PointModel): void;
    getLayoutNodesCollection(nodes: INode[]): INode[];
}
/**
 * Defines the properties of layout
 * @private
 */
export interface LayoutProp {
    orientation?: string;
    horizontalSpacing?: number;
    verticalSpacing?: number;
    marginX: number;
    marginY: number;
}
//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
     * @return {void}
     * @private
     */
    destroy(): void;
    /**
     * Defines the layout animation
     *
     */
    isAnimation: boolean;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**   @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;
    /**
     * 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 }
     */
    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
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getBranch?: Function | string;
    /**
     * Aligns the layout within the given bounds
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @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;
    /**
     * 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;
    /**
     * 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 }
     */
    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
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getBranch: Function | string;
    /**
     * Aligns the layout within the given bounds
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @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;
    /**
     * 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[];
}
export interface TreeInfo {
    orientation?: SubTreeOrientation;
    type?: SubTreeAlignments;
    offset?: number;
    enableRouting?: boolean;
    children?: string[];
    assistants?: string[];
    level?: number;
    hasSubTree?: boolean;
    rows?: number;
    getAssistantDetails?: AssistantsDetails;
}
/**
 * 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
     * @blazorDefaultValueIgnore
     */
    horizontalAlignment?: HorizontalAlignment;
    /**
     * Provides horizontal alignment of the diagram layout
     * @default undefined
     * @blazorDefaultValueIgnore
     */
    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
     * @return {void}
     * @private
     */
    destroy(): void;
    /**
     * Defines the layout animation
     *
     */
    isAnimation: boolean;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**   @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
     * @return {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**   @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);
    /**
     * @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();
    /**
     * @private
     */
    destroy(): void;
    protected getModuleName(): string;
    private doGraphLayout;
    private preLayoutNodes;
    /**
     * @private
     */
    doLayout(graphLayoutManager: GraphLayoutManager): void;
    private makeSymmetricLayout;
    private appendForces;
    private resetGraphPosition;
    private convertGraphNodes;
    /**
     * @private
     */
    getForceNode(gnNode: IGraphObject): GraphForceNode;
    private updateNeigbour;
    private lineAngle;
    private pointDistance;
    private calcRelatesForce;
    /**
     * @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;
    /**
     * @private
     */
    updateLayout(nodeCollection: IGraphObject[], connectors: IGraphObject[], symmetricLayout: SymmetricLayout, nameTable: Object, layout: Layout, viewPort: PointModel): boolean;
    /**
     * @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;
}
/**
 * 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 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
     * @blazorNumberEnum
     */
    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
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    hyperlink?: HyperlinkModel;
    /**
     * Defines the unique id of the annotation
     * @default ''
     */
    id?: string;
    /**
     * Sets the width of the text
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    width?: number;
    /**
     * Sets the height of the text
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @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 }
     */
    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;
}
/**
 * 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 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
     * @blazorNumberEnum
     */
    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
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    hyperlink: HyperlinkModel;
    /**
     * Defines the unique id of the annotation
     * @default ''
     */
    id: string;
    /**
     * Sets the width of the text
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    width: number;
    /**
     * Sets the height of the text
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @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 }
     */
    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);
    /**
     * @private
     * Returns the module of class PathAnnotation
     */
    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 */
    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;
    /** @private */
    updateBPMNStyle(elementWrapper: DiagramElement, changedProp: string): void;
    /** @private */
    updateBPMNGateway(node: Node, changedProp: Node): void;
    /** @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 BpmnDiagrams module
     * @return {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
}
export  function getBpmnShapePathData(shape: string): string;
export  function getBpmnTriggerShapePathData(shape: string): string;
export  function getBpmnGatewayShapePathData(shape: string): string;
export  function getBpmnTaskShapePathData(shape: string): string;
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 {
    /** @private */
    updateBridging(conn: Connector, diagram: Diagram): void;
    /** @private */
    firstBridge(bridgeList: BridgeSegment[], connector: Connector, bridgeSpacing: number): void;
    /** @private */
    createSegment(st: PointModel, end: PointModel, angle: number, direction: BridgeDirection, index: number, conn: Connector, diagram: Diagram): ArcSegment;
    /** @private */
    createBridgeSegment(startPt: PointModel, endPt: PointModel, angle: number, bridgeSpace: number, sweep: number): string;
    /** @private */
    sweepDirection(angle: number, bridgeDirection: BridgeDirection, connector: Connector, diagram: Diagram): number;
    /** @private */
    getPointAtLength(length: number, pts: PointModel[]): PointModel;
    /** @private */
    protected getPoints(connector: Connector): PointModel[];
    private intersectsRect;
    /** @private */
    intersect(points1: PointModel[], points2: PointModel[], self: boolean, bridgeDirection: BridgeDirection, zOrder: boolean): PointModel[];
    /** @private */
    inter1(startPt: PointModel, endPt: PointModel, pts: PointModel[], zOrder: boolean, bridgeDirection: BridgeDirection): PointModel[];
    private checkForHorizontalLine;
    private isEmptyPoint;
    private getLengthAtFractionPoint;
    private getSlope;
    /** @private */
    angleCalculation(startPt: PointModel, endPt: PointModel): number;
    private lengthCalculation;
    /**
     * Constructor for the bridging module
     * @private
     */
    constructor();
    /**
     * To destroy the bridging module
     * @return {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    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 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');
     * ```
     */
    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 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 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 Connector
 */
export interface ConnectorModel extends NodeBaseModel{
    /**
     * Defines the shape of the connector
     * @default 'Bpmn'
     * @aspType object
     */
    shape?: ConnectorShapeModel | BpmnFlowModel | RelationShipModel;
    /**
     * 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 'None'
     * @aspNumberEnum
     * @blazorNumberEnum
     */
    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;
    /**
     * Defines the segments
     * @default []
     * @aspType object
     * @blazorType object
     */
    segments?: (OrthogonalSegmentModel | StraightSegmentModel | BezierSegmentModel)[];
    /**
     * 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;
    /**
     * 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
     * @blazorDefaultValueIgnore
     * @blazorDefaultValue  Syncfusion.EJ2.Blazor.Diagrams.Segments.Straight
     */
    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
     * @isBlazorNullableType true
     */
    sourcePadding?: number;
    /**
     * Sets the target padding of the connector
     * @default 0
     * @isBlazorNullableType true
     */
    targetPadding?: number;
    /**
     * Defines the appearance of the connection path
     * @default ''
     */
    style?: StrokeStyleModel;
    /**
     * Defines the UI of the connector
     * @default null
     */
    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;
}
/**
 * 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');
     * ```
     */
    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;
    /**
     * @private
     * Returns the name of class StraightSegment
     */
    getClassName(): string;
}
/**
 * Defines the behavior of bezier segments
 */
export  class BezierSegment extends StraightSegment {
    /**
     * @private
     * Sets the first control point of the bezier connector
     */
    bezierPoint1: PointModel;
    /**
     * @private
     *  Sets the second control point of the bezier connector
     */
    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;
}
/**
 * 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;
    /**
     * @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;
}
/**
 * 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;
    /**
     * 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 'None'
     * @aspNumberEnum
     * @blazorNumberEnum
     */
    constraints: ConnectorConstraints;
    /**
     * Defines the bridgeSpace of connector
     * @default 10
     */
    bridgeSpace: number;
    /**
     * Defines the collection of textual annotations of connectors
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @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;
    /**
     * Defines the segments
     * @default []
     * @aspType object
     * @blazorType object
     */
    segments: (OrthogonalSegmentModel | StraightSegmentModel | BezierSegmentModel)[];
    /**
     * 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;
    /**
     * 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
     * @blazorDefaultValueIgnore
     * @blazorDefaultValue  Syncfusion.EJ2.Blazor.Diagrams.Segments.Straight
     */
    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
     * @isBlazorNullableType true
     */
    sourcePadding: number;
    /**
     * Sets the target padding of the connector
     * @default 0
     * @isBlazorNullableType true
     */
    targetPadding: number;
    /**
     * Defines the appearance of the connection path
     * @default ''
     */
    style: StrokeStyleModel;
    /** @private */
    parentId: string;
    /**
     * Defines the UI of the connector
     * @default null
     */
    wrapper: Container;
    /** @private */
    bridges: Bridge[];
    /** @private */
    sourceWrapper: DiagramElement;
    /** @private */
    targetWrapper: DiagramElement;
    /** @private */
    sourcePortWrapper: DiagramElement;
    /** @private */
    targetPortWrapper: DiagramElement;
    /** @private */
    intermediatePoints: PointModel[];
    /** @private */
    status: Status;
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
    /** @private */
    init(diagram: any): Canvas;
    private getConnectorRelation;
    private getBpmnSequenceFlow;
    /** @private */
    getUMLObjectFlow(): void;
    /** @private */
    getUMLExceptionFlow(segment: PathElement): void;
    private getBpmnAssociationFlow;
    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): TextElement | DiagramHtmlElement;
    /** @private */
    updateAnnotation(annotation: PathAnnotation, points: PointModel[], bounds: Rect, textElement: TextElement | DiagramHtmlElement, canRefresh?: number): void;
    /** @private */
    getConnectorPoints(type: Segments, points?: PointModel[], layoutOrientation?: LayoutOrientation): PointModel[];
    /** @private */
    private clipDecorator;
    /** @private */
    clipDecorators(connector: Connector, pts: PointModel[]): PointModel[];
    /** @private */
    updateSegmentElement(connector: Connector, points: PointModel[], element: PathElement): PathElement;
    /** @private */
    getSegmentElement(connector: Connector, segmentElement: PathElement, layoutOrientation?: LayoutOrientation): 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[]): 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);
    /**
     * @hidden
     * @private
     */
    addEventListener(): void;
    /**
     * @hidden
     * @private
     */
    removeEventListener(): void;
    private render;
    private getMenuItems;
    private contextMenuOpen;
    private BeforeItemRender;
    private contextMenuItemClick;
    private contextMenuOnClose;
    private getLocaleText;
    private updateItemStatus;
    private ensureItems;
    private contextMenuBeforeOpen;
    private ensureTarget;
    /**
     * To destroy the Context menu.
     * @method destroy
     * @return {void}
     * @private
     */
    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
 */
/** @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
 */
/** @private */
export  function getPortShape(shape: PortShapes): string;
/** @private */
export  function getDecoratorShape(shape: DecoratorShapes, decorator: DecoratorModel): string;
/**
 * @private
 * @param icon
 * sets the path data for different icon shapes
 */
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
 */
/** @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
 */
/** @private */
export  function getUMLActivityShape(shape: string): string;
//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;
}
/**
 * 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[];
}
/**
 * DiagramObject is the interface for the diagram object
 *
 */
export interface DiagramEventObject {
    /** returns the  node  */
    node?: NodeModel;
    /** returns the  connector  */
    connector?: ConnectorModel;
}
/**
 * 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 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;
}
/**
 * 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;
}
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 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 {
    node?: NodeModel;
    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 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 ConnectorTargetValue {
    nodeId: string;
    portId: string;
}
/**
 * BlazorConnectionObject interface for the connector object
 *
 */
export interface BlazorConnectionObject {
    connector?: ConnectorModel;
    connectorTargetValue?: ConnectorTargetValue;
}
/**
 * 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;
}
/**
 * DiagramObject notifies whether it is node or connector
 */
export interface DiagramEventObject {
    node?: NodeModel;
    connector?: ConnectorModel;
}
/**
 * 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 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;
}
/**
 * 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;
}
/**
 * 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 {
    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 {
    node?: NodeModel;
    connector?: ConnectorModel;
    selector?: SelectorModel;
}
/**
 * MouseEventElement notifies whether it is node or connector or selector model
 */
export interface DiagramEventObjectCollection {
    node?: NodeModel[];
    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: Object;
    /** returns the target object over which the selected object is dragged */
    targets: DiagramEventObjectCollection;
}
/**
 * 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 */
    source: Diagram;
    /** returns the previous delay value between subsequent auto scrolls */
    oldValue: ScrollValues;
    /** returns the new delay value between subsequent auto scrolls */
    newValue: ScrollValues;
}
/**
 * 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;
}
/**
 * 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;
}
/**
 * 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;
}
/**
 * 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 */
    diagram: DiagramModel;
    /** 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 whether or not to cancel the event */
    cancel: boolean;
}
/**
 * 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: SelectorModel;
    /** returns the cause of the event */
    cause: string;
    /** returns a collection of objects that are changed in the last undo/redo */
    source?: DiagramEventObjectCollection;
}
/**
 * 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 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;
}
/**
 * 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  */
    diagram?: DiagramModel;
}
/**
 * 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 {
    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;
}
//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('')
     */
    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;
    /**
     * @blazorType Syncfusion.EJ2.Blazor.Navigations.navigations.MenuItemModel
     */
    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[];
    /**
     * @blazorType List<Syncfusion.EJ2.Blazor.Navigations.navigations.MenuItemModel>
     */
    items: navigations.MenuItemModel[];
    /**
     * @blazorType Syncfusion.EJ2.Blazor.Navigations.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
     */
    expand(animation: boolean, objects: ILayout, node: Node, diagram: Diagram): void;
    /**
     * Setinterval and Clear interval for layout animation
     */
    /** @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
     */
    updateOpacity(source: Node, value: number, diagram: Diagram): void;
    /**
     * To destroy the  LayoutAnimate module
     * @return {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    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 collection of connection points of nodes/connectors
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    ports?: PointPortModel[];
    /**
     * Defines whether the node is expanded or not
     * @default true
     */
    isExpanded?: boolean;
    /**
     * defines the tooltip for the node
     * @default {}
     */
    tooltip?: DiagramTooltipModel;
    /**
     * Defines the expanded state of a node
     * @default {}
     */
    expandIcon?: IconShapeModel;
    /**
     * Defines the collapsed state of a node
     * @default {}
     */
    collapseIcon?: IconShapeModel;
    /**
     * 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
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    addInfo?: Object;
    /**
     * Flip the element in Horizontal/Vertical directions
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default None
     */
    flip?: FlipDirection;
}
//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 collection of connection points of nodes/connectors
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    ports: PointPortModel[];
    /**
     * Defines whether the node is expanded or not
     * @default true
     */
    isExpanded: boolean;
    /**
     * defines the tooltip for the node
     * @default {}
     */
    tooltip: DiagramTooltipModel;
    /**
     * Defines the expanded state of a node
     * @default {}
     */
    expandIcon: IconShapeModel;
    /**
     * Defines the collapsed state of a node
     * @default {}
     */
    collapseIcon: IconShapeModel;
    /**
     * 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
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    addInfo: Object;
    /**
     * Flip the element in Horizontal/Vertical directions
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default None
     */
    flip: FlipDirection;
}
//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
     * @blazorDefaultValueIgnore
     * @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');
     * ```
     */
    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
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    annotations?: ShapeAnnotationModel[];
    /**
     * Defines the collection of connection points of the sub events
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    ports?: PointPortModel[];
    /**
     * Sets the width of the node
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    width?: number;
    /**
     * Sets the height of the node
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    angle?: number;
    /**
     * Sets the height of the text
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    height?: number;
    /**
     * Sets the width of the text
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    width?: number;
    /**
     * Sets the distance between the bpmn shape and the annotation
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @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 Node
 */
export interface NodeModel extends NodeBaseModel{
    /**
     * Defines the collection of textual annotations of nodes/connectors
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    annotations?: ShapeAnnotationModel[];
    /**
     * Sets the x-coordinate of the position of the node
     * @default 0
     */
    offsetX?: number;
    /**
     * Sets the y-coordinate of the position of the node
     * @default 0
     */
    offsetY?: number;
    /**
     * 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
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    width?: number;
    /**
     * Sets the height of the node
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    height?: number;
    /**
     * Sets the minimum width of the node
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    minWidth?: number;
    /**
     * Sets the minimum height of the node
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    minHeight?: number;
    /**
     * Sets the maximum width of the node
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    maxWidth?: number;
    /**
     * Sets the maximum height of the node
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @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
     * @default 'none'
     */
    borderColor?: string;
    /**
     * Sets the border width of the node
     * @default 0
     * @isBlazorNullableType true
     */
    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;
    /**
     * Sets or gets the UI of a node
     * @default null
     */
    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
     * @blazorNumberEnum
     */
    constraints?: NodeConstraints;
    /**
     * Defines the shadow of a shape/path
     * @default null
     */
    shadow?: ShadowModel;
    /**
     * Defines the children of group element
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    children?: string[];
    /**
     * Defines the type of the container
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default null
     */
    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
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    rows?: RowDefinition[];
    /**
     * Used to define the column for the grid container
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    columns?: ColumnDefinition[];
    /**
     * Used to define a index of row in the grid
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    rowIndex?: number;
    /**
     * Used to define a index of column in the grid
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    columnIndex?: number;
    /**
     * Merge the row use the property in the grid container
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    rowSpan?: number;
    /**
     * Merge the column use the property in the grid container
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    columnSpan?: number;
    /**
     * Set the branch for the mind map
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @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?: Annotation;
    /**
     * Sets the style of the header
     * @default ''
     */
    style?: ShapeStyleModel;
    /**
     * 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 phase
     * @default 100
     */
    height?: number;
    /**
     * Defines the height of the phase
     * @default 100
     */
    width?: number;
    /**
     * Defines the collection of header in the phase.
     * @default new Header()
     */
    header?: HeaderModel;
}
/**
 * Interface for a class Phase
 */
export interface PhaseModel {
    /**
     * Sets the id of the phase
     * @default ''
     */
    id?: string;
    /**
     * Sets the style of the lane
     * @default ''
     */
    style?: ShapeStyleModel;
    /**
     * Sets the header collection of the phase
     * @default  new Header()
     */
    header?: HeaderModel;
    /**
     * Sets the offset of the lane
     * @default 100
     */
    offset?: number;
}
/**
 * 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
     * @blazorDefaultValueIgnore
     * @default Canvas
     */
    type?: ContainerTypes;
    /**
     * Defines the type of the swimLane orientation.
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @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 collection of selected nodes
     * @blazorType List<DiagramNode>
     */
    nodes?: NodeModel[];
    /**
     * Defines the collection of selected connectors
     * @blazorType List<DiagramConnector>
     */
    connectors?: ConnectorModel[];
    /**
     * Sets/Gets the width of the container
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    width?: number;
    /**
     * Sets/Gets the height of the container
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    height?: number;
    /**
     * Sets the rotate angle of the container
     * @default 0
     * @isBlazorNullableType true
     */
    rotateAngle?: number;
    /**
     * Sets the positionX of the container
     * @default 0
     * @isBlazorNullableType true
     */
    offsetX?: number;
    /**
     * Sets the positionY of the container
     * @default 0
     * @isBlazorNullableType true
     */
    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
     * @blazorNumberEnum
     */
    constraints?: SelectorConstraints;
    /**
     * setTooltipTemplate helps to customize the content of a tooltip
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    setTooltipTemplate?: Function | string;
}
//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;
    /**
     * @private
     * Returns the name of class Path
     */
    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;
    /**
     * @private
     * Returns the name of class Native
     */
    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;
    /**
     * @private
     * Returns the name of class Html
     */
    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;
    /**
     * @private
     * Returns the name of class Image
     */
    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;
    /**
     * @private
     * Returns the name of class Text
     */
    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
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    points: PointModel[];
    /**
     * @private
     * Returns the name of class BasicShape
     */
    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;
    /**
     * @private
     * Returns the name of class FlowShape
     */
    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;
    /**
     * @private
     * Returns the name of class BpmnGateway
     */
    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;
    /**
     * @private
     * Returns the name of class BpmnDataObject
     */
    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');
     * ```
     */
    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;
    /**
     * @private
     * Returns the name of class BpmnEvent
     */
    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
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    annotations: ShapeAnnotationModel[];
    /**
     * Defines the collection of connection points of the sub events
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    ports: PointPortModel[];
    /**
     * Sets the width of the node
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    width: number;
    /**
     * Sets the height of the node
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @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;
    /**
     * @private
     * Returns the name of class BpmnSubEvent
     */
    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;
    /**
     * @private
     * Returns the name of class BpmnActivity
     */
    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
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    angle: number;
    /**
     * Sets the height of the text
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    height: number;
    /**
     * Sets the width of the text
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    width: number;
    /**
     * Sets the distance between the bpmn shape and the annotation
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @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[];
    /**
     * @private
     * Returns the name of class BpmnShape
     */
    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;
    /**
     * @private
     * Returns the name of class UmlActivityShape
     */
    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;
    /**
     * @private
     * Returns the name of class MethodArguments
     */
    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;
    /**
     * @private
     * Returns the name of class UmlClassAttribute
     */
    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[];
    /**
     * @private
     * Returns the name of class UmlClassMethod
     */
    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;
    /**
     * @private
     * Returns the name of class UmlClass
     */
    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;
    /**
     * @private
     * Returns the name of class UmlInterface
     */
    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;
    /**
     * @private
     * Returns the name of class UmlEnumerationMember
     */
    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;
    /**
     * @private
     * Returns the name of class UmlEnumeration
     */
    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;
    /**
     * @private
     * Returns the name of class UmlClassifierShape
     */
    getClassName(): string;
}
/**
 * Defines the behavior of nodes
 */
export  class Node extends NodeBase implements IElement {
    /**
     * Defines the collection of textual annotations of nodes/connectors
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    annotations: ShapeAnnotationModel[];
    /**
     * Sets the x-coordinate of the position of the node
     * @default 0
     */
    offsetX: number;
    /**
     * Sets the y-coordinate of the position of the node
     * @default 0
     */
    offsetY: number;
    /**
     * 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
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    width: number;
    /**
     * Sets the height of the node
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    height: number;
    /**
     * Sets the minimum width of the node
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    minWidth: number;
    /**
     * Sets the minimum height of the node
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    minHeight: number;
    /**
     * Sets the maximum width of the node
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    maxWidth: number;
    /**
     * Sets the maximum height of the node
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @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
     * @default 'none'
     */
    borderColor: string;
    /**
     * Sets the border width of the node
     * @default 0
     * @isBlazorNullableType true
     */
    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;
    /**
     * Sets or gets the UI of a node
     * @default null
     */
    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
     * @blazorNumberEnum
     */
    constraints: NodeConstraints;
    /**
     * Defines the shadow of a shape/path
     * @default null
     */
    shadow: ShadowModel;
    /**
     * Defines the children of group element
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    children: string[];
    /**
     * Defines the type of the container
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default null
     */
    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
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    rows: RowDefinition[];
    /**
     * Used to define the column for the grid container
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    columns: ColumnDefinition[];
    /**
     * Used to define a index of row in the grid
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    rowIndex: number;
    /**
     * Used to define a index of column in the grid
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    columnIndex: number;
    /**
     * Merge the row use the property in the grid container
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    rowSpan: number;
    /**
     * Merge the column use the property in the grid container
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    columnSpan: number;
    /**
     * Set the branch for the mind map
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default ''
     */
    branch: BranchTypes;
    /** @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 getIconOffet;
    /** @private */
    initIcons(accessibilityContent: Function | string, layout: LayoutModel, container: Container, diagramId: string): void;
    /** @private */
    initAnnotations(accessibilityContent: Function | string, container: Container, diagramId: string, virtualize?: boolean): void;
    /** @private */
    initPortWrapper(ports: Port): DiagramElement;
    /** @private */
    initAnnotationWrapper(annotation: Annotation, diagramId?: string, virtualize?: boolean, value?: number): 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: Annotation;
    /**
     * Sets the style of the header
     * @default ''
     */
    style: ShapeStyleModel;
    /**
     * 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 phase
     * @default 100
     */
    height: number;
    /**
     * Defines the height of the phase
     * @default 100
     */
    width: number;
    /**
     * Defines the collection of header in the phase.
     * @default new Header()
     */
    header: HeaderModel;
    /**
     * @private
     * Returns the name of class Lane
     */
    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 lane
     * @default ''
     */
    style: ShapeStyleModel;
    /**
     * Sets the header collection of the phase
     * @default  new Header()
     */
    header: HeaderModel;
    /**
     * Sets the offset of the lane
     * @default 100
     */
    offset: number;
    /**
     * @private
     * Returns the name of class Phase
     */
    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;
    /**
     * @private
     * Defines space between children and lane
     */
    padding: number;
    /**
     * @private
     * Defines header by user or not
     */
    hasHeader: boolean;
    /**
     * @private
     * Returns the name of class Phase
     */
    getClassName(): string;
}
/**
 * Defines the behavior of container
 */
export  class ChildContainer {
    /**
     * Defines the type of the container
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default Canvas
     */
    type: ContainerTypes;
    /**
     * Defines the type of the swimLane orientation.
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    orientation: Orientation;
    /**
     * @private
     * Returns the name of class ChildContainer
     */
    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 collection of selected nodes
     * @blazorType List<DiagramNode>
     */
    nodes: NodeModel[];
    /**
     * Defines the collection of selected connectors
     * @blazorType List<DiagramConnector>
     */
    connectors: ConnectorModel[];
    /**
     * @private
     */
    annotation: ShapeAnnotationModel | PathAnnotationModel;
    /**
     * Sets/Gets the width of the container
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    width: number;
    /**
     * Sets/Gets the height of the container
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    height: number;
    /**
     * Sets the rotate angle of the container
     * @default 0
     * @isBlazorNullableType true
     */
    rotateAngle: number;
    /**
     * Sets the positionX of the container
     * @default 0
     * @isBlazorNullableType true
     */
    offsetX: number;
    /**
     * Sets the positionY of the container
     * @default 0
     * @isBlazorNullableType true
     */
    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
     * @blazorNumberEnum
     */
    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
     * @blazorNumberEnum
     */
    thumbsConstraints: ThumbsConstraints;
    /**
     * setTooltipTemplate helps to customize the content of a tooltip
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    setTooltipTemplate: Function | string;
    /**
     * 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
     * @blazorNumberEnum
     */
    visibility?: PortVisibility;
    /**
     * Defines the geometry of the port
     * @default ''
     */
    pathData?: string;
    /**
     * Defines the constraints of port
     * @default 'Default'
     * @aspNumberEnum
     * @blazorNumberEnum
     */
    constraints?: PortConstraints;
    /**
     * Allows the user to save custom information/data about a port
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    addInfo?: Object;
}
/**
 * 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)
     */
    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
     * @blazorNumberEnum
     */
    visibility: PortVisibility;
    /**
     * Defines the geometry of the port
     * @default ''
     */
    pathData: string;
    /**
     * Defines the constraints of port
     * @default 'Default'
     * @aspNumberEnum
     * @blazorNumberEnum
     */
    constraints: PortConstraints;
    /**
     * Allows the user to save custom information/data about a port
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    addInfo: Object;
}
/**
 * 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)
     */
    offset: PointModel;
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
    /**
     * @private
     * Returns the name of class PointPort
     */
    getClassName(): 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;
    /**
     * 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;
    /**
     * Snap to Object
     */
    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;
    /**
     * To create the same width and same size lines
     */
    private createGuidelines;
    /**
     * To create the alignment lines
     */
    private renderAlignmentLines;
    /**
     * To create Horizontal spacing lines
     */
    private createHSpacingLines;
    /**
     * To create vertical spacing lines
     */
    private createVSpacingLines;
    /**
     * Add the Horizontal spacing lines
     */
    private addHSpacingLines;
    /**
     * Add the vertical spacing lines
     */
    private addVSpacingLines;
    /**
     * To add same width lines
     */
    private addSameWidthLines;
    /**
     * To add same height lines
     */
    private addSameHeightLines;
    /**
     * Render spacing lines
     */
    private renderSpacingLines;
    /**
     * To Create Snap object with position, initial bounds, and final bounds
     * @private
     */
    createSnapObject(targetBounds: Rect, bounds: Rect, snap: string): SnapObject;
    /**
     * Calculate the snap angle
     * @private
     */
    snapAngle(diagram: Diagram, angle: number): number;
    /**
     * Check whether the node to be snapped or not.
     */
    private canConsider;
    /**
     * Find the total number of nodes in diagram using SpatialSearch
     */
    private findNodes;
    private intersectsRect;
    private getAdornerLayerSvg;
    /**
     * To remove grid lines on mouse move and mouse up
     * @private
     */
    removeGuidelines(diagram: Diagram): void;
    /**
     * Sort the objects by its distance
     */
    private sortByDistance;
    /**
     * To find nodes that are equally placed at left of the selected node
     */
    private findEquallySpacedNodesAtLeft;
    /**
     * To find nodes that are equally placed at right of the selected node
     */
    private findEquallySpacedNodesAtRight;
    private findEquallySpacedNodesAtTop;
    /**
     * To find nodes that are equally placed at bottom of the selected node
     */
    private findEquallySpacedNodesAtBottom;
    /**
     * To get Adoner layer to draw snapLine
     * @private
     */
    getLayer(): SVGElement;
    /**
     * Constructor for the snapping module
     * @private
     */
    /**
     * To destroy the snapping module
     * @return {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    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'
     */
    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.EJ2.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'
     */
    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.EJ2.Blazor.Popups.popups.AnimationModel
     * @default { open: { effect: 'FadeIn', duration: 150, delay: 0 }, close: { effect: 'FadeOut', duration: 150, delay: 0 } }
     */
    animation: popups.AnimationModel;
}
/**
 * @private
 * defines the popups.Tooltip.
 * @param diagram
 */
export  function initTooltip(diagram: Diagram): popups.Tooltip;
/**
 * @private
 * updates the contents of the tooltip.
 * @param diagram
 * @param node
 */
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;
    /** @private */
    initHistory(diagram: Diagram): void;
    /** @private */
    addHistoryEntry(entry: HistoryEntry, diagram: Diagram): void;
    /** @private */
    applyLimit(list: HistoryEntry, stackLimit: number, diagram: Diagram, limitHistory?: boolean): void;
    /** @private */
    clearHistory(diagram: Diagram): void;
    private setEntryLimit;
    private limitHistoryStack;
    private removeFromStack;
    /** @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 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;
    /** @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
     * @return {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module 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);
}
/** @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-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
     * @isBlazorNullableType true
     */
    x?: number;
    /**
     * Sets the y-coordinate of a position
     * @default 0
     * @isBlazorNullableType true
     */
    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
     * @isBlazorNullableType true
     */
    x: number;
    /**
     * Sets the y-coordinate of a position
     * @default 0
     * @isBlazorNullableType true
     */
    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-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;
    /**   @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;
    /**   @private  */
    Inflate(padding: number): Rect;
    /**   @private  */
    intersects(rect: Rect): boolean;
    /**   @private  */
    containsRect(rect: Rect): boolean;
    /**   @private  */
    containsPoint(point: PointModel, padding?: number): boolean;
    /**   @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);
    /**   @private  */
    isEmpty(): boolean;
    /**   @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 updateObjectValue;
    private isImageExportable;
    private getPrintCanvasStyle;
    private getMultipleImage;
    private printImage;
    /**
     * To print the image
     * @private
     */
    print(options: IExportOptions): void;
    private printImages;
    /** @private */
    getDiagramContent(styleSheets?: StyleSheetList): string;
    /** @private */
    exportImages(image: string, options: IExportOptions): void;
    /**
     * To destroy the Print and Export module
     * @return {void}
     * @private
     */
    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;
}
/** @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[];
}
/**
 * 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 {
    /**   @private  */
    static getContext(canvas: HTMLCanvasElement): CanvasRenderingContext2D;
    private static setCanvasSize;
    /**   @private  */
    renderGradient(options: StyleAttributes, ctx: CanvasRenderingContext2D, x?: number, y?: number): CanvasRenderingContext2D;
    /**   @private  */
    renderShadow(options: BaseAttributes, canvas: HTMLCanvasElement, collection?: Object[]): void;
    /**   @private  */
    static createCanvas(id: string, width: number, height: number): HTMLCanvasElement;
    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, parentSvg?: SVGSVGElement, ariaLabel?: Object, diagramId?: string, scaleValue?: number, parentNode?: Container): void;
    private loadImage;
    /**   @private  */
    drawImage(canvas: HTMLCanvasElement, obj: ImageAttributes, parentSvg?: SVGSVGElement, fromPalette?: boolean): void;
    private image;
    private getSliceOffset;
    private getMeetOffset;
    private m;
    private r;
    private a;
    /**   @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): 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);
    /**   @private  */
    setCursor(canvas: HTMLElement, cursor: string): void;
    /** @private */
    setLayers(): void;
    private getAdornerLayer;
    private getParentSvg;
    private getParentElement;
    private getGroupElement;
    /**   @private  */
    renderElement(element: DiagramElement, canvas: HTMLCanvasElement | SVGElement, htmlLayer: HTMLElement, transform?: TransformFactor, parentSvg?: SVGSVGElement, createParent?: boolean, fromPalette?: boolean, indexValue?: number): void;
    /**   @private  */
    drawSelectionRectangle(x: number, y: number, w: number, h: number, canvas: HTMLCanvasElement | SVGElement, t: TransformFactor): void;
    /**
     * @private
     */
    renderHighlighter(element: DiagramElement, canvas: SVGElement, transform: TransformFactor): void;
    /**
     * @private
     */
    renderStackHighlighter(element: DiagramElement, canvas: SVGElement, transform: TransformFactor, isVertical: Boolean, position: PointModel, isUml?: boolean, isSwimlane?: boolean): void;
    /**   @private  */
    drawLine(canvas: SVGElement, options: LineAttributes): void;
    /**   @private  */
    drawPath(canvas: SVGElement, options: PathAttributes): void;
    /**   @private  */
    renderResizeHandle(element: DiagramElement, canvas: HTMLCanvasElement | SVGElement, constraints: ThumbsConstraints, currentZoom: number, selectorConstraints?: SelectorConstraints, transform?: TransformFactor, canMask?: boolean, enableNode?: number, nodeConstraints?: boolean, isSwimlane?: boolean): void;
    /**   @private  */
    renderEndPointHandle(selector: ConnectorModel, canvas: HTMLCanvasElement | SVGElement, constraints: ThumbsConstraints, selectorConstraints: SelectorConstraints, transform: TransformFactor, connectedSource: boolean, connectedTarget?: boolean, isSegmentEditing?: boolean): void;
    /**   @private  */
    renderOrthogonalThumbs(id: string, selector: DiagramElement, segment: OrthogonalSegment, canvas: HTMLCanvasElement | SVGElement, visibility: boolean, t: TransformFactor): void;
    /**   @private  */
    renderOrthogonalThumb(id: string, selector: DiagramElement, x: number, y: number, canvas: HTMLCanvasElement | SVGElement, visible: boolean, orientation: string, t: TransformFactor): void;
    /**   @private  */
    renderPivotLine(element: DiagramElement, canvas: HTMLCanvasElement | SVGElement, transform?: TransformFactor, selectorConstraints?: SelectorConstraints, canMask?: boolean): void;
    /**   @private  */
    renderBezierLine(id: string, wrapper: DiagramElement, canvas: HTMLCanvasElement | SVGElement, start: PointModel, end: PointModel, transform?: TransformFactor): void;
    /**   @private  */
    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): void;
    /**   @private  */
    renderBorder(selector: DiagramElement, canvas: HTMLCanvasElement | SVGElement, transform?: TransformFactor, enableNode?: number, isBorderTickness?: boolean, isSwimlane?: boolean): void;
    /**   @private  */
    renderUserHandler(selectorItem: SelectorModel, canvas: HTMLCanvasElement | SVGElement, transform?: TransformFactor): void;
    /**   @private  */
    renderRotateThumb(wrapper: DiagramElement, canvas: HTMLCanvasElement | SVGElement, transform?: TransformFactor, selectorConstraints?: SelectorConstraints, canMask?: boolean): void;
    /**   @private  */
    renderPathElement(element: PathElement, canvas: HTMLCanvasElement | SVGElement, transform?: TransformFactor, parentSvg?: SVGSVGElement, fromPalette?: boolean): void;
    /**   @private  */
    renderSvgGridlines(snapSettings: SnapSettingsModel, gridSvg: SVGElement, t: TransformFactor, rulerSettings: RulerSettingsModel, hRuler: RulerModel, vRuler: RulerModel): void;
    private horizontalSvgGridlines;
    private verticalSvgGridlines;
    /**   @private  */
    updateGrid(snapSettings: SnapSettingsModel, svgGrid: SVGSVGElement, transform: TransformFactor, rulerSettings: RulerSettingsModel, hRuler: RulerModel, vRuler: RulerModel): void;
    private updateLineIntervals;
    private scaleSnapInterval;
    /**   @private  */
    renderTextElement(element: TextElement, canvas: HTMLCanvasElement | SVGElement, transform?: TransformFactor, parentSvg?: SVGSVGElement, fromPalette?: boolean): void;
    private renderNativeElement;
    private renderHTMLElement;
    /**   @private  */
    renderImageElement(element: ImageElement, canvas: HTMLCanvasElement | SVGElement, transform?: TransformFactor, parentSvg?: SVGSVGElement, fromPalette?: boolean): void;
    /**   @private  */
    renderContainer(group: Container, canvas: HTMLCanvasElement | SVGElement, htmlLayer: HTMLElement, transform?: TransformFactor, parentSvg?: SVGSVGElement, createParent?: boolean, fromPalette?: boolean, indexValue?: number): void;
    renderFlipElement(element: DiagramElement, canvas: SVGElement | HTMLCanvasElement, flip: FlipDirection): void;
    /**   @private  */
    hasNativeParent(children: DiagramElement[], count?: number): DiagramElement;
    /**   @private  */
    renderRect(element: DiagramElement, canvas: HTMLCanvasElement | SVGElement, transform?: TransformFactor, parentSvg?: SVGSVGElement): void;
    /**   @private  */
    drawRect(canvas: SVGElement, options: RectAttributes): void;
    /**   @private  */
    getBaseAttributes(element: DiagramElement, transform?: TransformFactor): BaseAttributes;
    /**   @private  */
    static renderSvgBackGroundImage(background: BackgroundModel, diagramElement: HTMLElement, x: number, y: number, width: number, height: number): void;
    /**   @private  */
    transformLayers(transform: TransformFactor, svgMode: boolean): boolean;
    /** @private */
    updateNode(element: DiagramElement, diagramElementsLayer: HTMLCanvasElement, htmlLayer: HTMLElement, transform?: TransformFactor, insertIndex?: number): void;
}
//node_modules/@syncfusion/ej2-diagrams/src/diagram/rendering/svg-renderer.d.ts
/**
 * SVG Renderer
 */
/** @private */
export  class SvgRenderer implements IRenderer {
    /**   @private  */
    renderShadow(options: BaseAttributes, canvas: SVGElement, collection?: Object[], parentSvg?: SVGSVGElement): void;
    /**   @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 */
    drawLine(gElement: SVGElement, options: LineAttributes): void;
    /** @private */
    drawCircle(gElement: SVGElement, options: CircleAttributes, enableSelector?: number, ariaLabel?: Object): 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 setSvgFontStyle;
    /**   @private  */
    drawText(canvas: SVGElement, options: TextAttributes, parentSvg?: SVGSVGElement, ariaLabel?: Object, diagramId?: string, scaleValue?: number, parentNode?: Container): void;
    private setText;
    /**   @private  */
    drawImage(canvas: SVGElement | HTMLCanvasElement, obj: ImageAttributes, parentSvg?: SVGSVGElement, fromPalette?: boolean): void;
    /** @private */
    drawHTMLContent(element: DiagramHtmlElement, canvas: HTMLElement, transform?: TransformFactor, value?: boolean, indexValue?: number): void;
    /** @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
     * @private
     * @param node
     * @param group
     * @param height
     * @param width
     * @param parentSvg
     */
    drawClipPath(node: DiagramNativeElement, group: SVGElement, height: number, width: number, parentSvg: SVGSVGElement): SVGElement;
    /**   @private  */
    renderGradient(options: StyleAttributes, svg: SVGElement, diagramId?: string): SVGElement;
    /**   @private  */
    createLinearGradient(linear: LinearGradientModel): SVGElement;
    /**   @private  */
    createRadialGradient(radial: RadialGradientModel): SVGElement;
    /**   @private  */
    setSvgStyle(svg: SVGElement, style: StyleAttributes, diagramId?: string): void;
    /**   @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
 */
/**
 * @private
 */
export  function renderOverlapElement(diagram: Diagram): void;
/**
 * @private
 */
export  function renderRuler(diagram: Diagram, isHorizontal: Boolean): void;
/**
 * @private
 */
export  function updateRuler(diagram: Diagram): void;
/**
 * @private
 */
export  function removeRulerElements(diagram: Diagram): void;
/** @private */
export  function getRulerSize(diagram: Diagram): Size;
/** @private */
export  function getRulerGeometry(diagram: Diagram): Size;
/**
 * @private
 */
export  function removeRulerMarkers(): void;
export  function drawRulerMarkers(diagram: Diagram, currentPoint: PointModel): void;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/utility/base-util.d.ts
/**
 * Implements the basic functionalities
 */
/** @private */
export  function randomId(): string;
/** @private */
export  function cornersPointsBeforeRotation(ele: DiagramElement): Rect;
/** @private */
export  function getBounds(element: DiagramElement): Rect;
/** @private */
export  function cloneObject(obj: Object, additionalProp?: Function | string, key?: string): Object;
/** @private */
export  function getInternalProperties(propName: string): string[];
/** @private */
export  function cloneArray(sourceArray: Object[], additionalProp?: Function | string, key?: string): Object[];
/** @private */
export  function extendObject(options: Object, childObject: Object): Object;
/** @private */
export  function extendArray(sourceArray: Object[], childArray: Object[]): Object[];
/** @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 overFlow(text: string, options: TextAttributes): string;
/** @private */
export  function whiteSpaceToString(value: WhiteSpace, wrap: TextWrap): string;
/** @private */
export  function rotateSize(size: Size, angle: number): Size;
/** @private */
export  function rotatePoint(angle: number, pivotX: number, pivotY: number, point: PointModel): PointModel;
/** @private */
export  function getOffset(topLeft: PointModel, obj: DiagramElement): PointModel;
/**
 * Get function
 */
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
 */
/** @private */
export  function findConnectorPoints(element: Connector, layoutOrientation?: LayoutOrientation): PointModel[];
/** @private */
export  function swapBounds(object: DiagramElement, bounds: Corners, outerBounds: Rect): Corners;
/** @private */
export  function findAngle(s: PointModel, e: PointModel): number;
/** @private */
export  function findPoint(cor: Corners, direction: string): PointModel;
/** @private */
export  function getIntersection(ele: Connector, bounds: DiagramElement, sPt: PointModel, tPt: PointModel, isTar: boolean): PointModel;
/** @private */
export  function getIntersectionPoints(thisSegment: Segment, pts: Object[], minimal: boolean, point: PointModel): PointModel;
/** @private */
export  function orthoConnection2Segment(source: End, target: End): PointModel[];
export  function getPortDirection(point: PointModel, corner: Corners, bounds: Rect, closeEdge: boolean): Direction;
/** @private */
export  function getOuterBounds(obj: Connector): Rect;
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
 */
/** @private */
export  function canSelect(node: ConnectorModel | NodeModel | PathAnnotationModel | ShapeAnnotationModel): number;
/** @private */
export  function canMove(node: ConnectorModel | NodeModel | SelectorModel | ShapeAnnotationModel | PathAnnotationModel): number;
/** @private */
export  function canEnablePointerEvents(node: ConnectorModel | NodeModel, diagram: Diagram): number;
/** @private */
export  function canDelete(node: ConnectorModel | NodeModel): number;
/** @private */
export  function canBridge(connector: Connector, diagram: Diagram): number;
/** @private */
export  function canEnableRouting(connector: Connector, diagram: Diagram): number;
/** @private */
export  function canDragSourceEnd(connector: Connector): number;
/** @private */
export  function canDragTargetEnd(connector: Connector): number;
/** @private */
export  function canDragSegmentThumb(connector: Connector): number;
/** @private */
export  function canRotate(node: NodeModel | ShapeAnnotationModel | PathAnnotationModel): number;
/** @private */
export  function canShadow(node: NodeModel): number;
/** @private */
export  function canInConnect(node: NodeModel): number;
/** @private */
export  function canPortInConnect(port: PointPortModel): number;
/** @private */
export  function canOutConnect(node: NodeModel): number;
/** @private */
export  function canPortOutConnect(port: PointPortModel): number;
/** @private */
export  function canResize(node: NodeModel | ShapeAnnotationModel | PathAnnotationModel, direction?: string): number;
/** @private */
export  function canAllowDrop(node: ConnectorModel | NodeModel): number;
/** @private */
export  function canVitualize(diagram: Diagram): number;
/** @private */
export  function canEnableToolTip(node: ConnectorModel | NodeModel, diagram: Diagram): number;
/** @private */
export  function canSingleSelect(model: Diagram): number;
/** @private */
export  function canMultiSelect(model: Diagram): number;
/** @private */
export  function canZoomPan(model: Diagram): number;
/** @private */
export  function canContinuousDraw(model: Diagram): number;
/** @private */
export  function canDrawOnce(model: Diagram): number;
/** @private */
export  function defaultTool(model: Diagram): number;
/** @private */
export  function canZoom(model: Diagram): number;
/** @private */
export  function canPan(model: Diagram): number;
/** @private */
export  function canUserInteract(model: Diagram): number;
/** @private */
export  function canApiInteract(model: Diagram): number;
/** @private */
export  function canPanX(model: Diagram): number;
/** @private */
export  function canPanY(model: Diagram): number;
/** @private */
export  function canZoomTextEdit(diagram: Diagram): number;
/** @private */
export  function canPageEditable(model: Diagram): number;
/** @private */
export  function enableReadOnly(annotation: AnnotationModel, node: NodeModel | ConnectorModel): number;
/** @private */
export  function canDraw(port: PointPortModel | NodeModel, diagram: Diagram): number;
/** @private */
export  function canDrag(port: PointPortModel | NodeModel, diagram: Diagram): number;
/** @private */
export  function canPreventClearSelection(diagramActions: DiagramAction): boolean;
/** @private */
export  function canDrawThumbs(rendererActions: RendererAction): boolean;
/** @private */
export  function avoidDrawSelector(rendererActions: RendererAction): boolean;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/utility/diagram-util.d.ts
/** @private */
export  function completeRegion(region: Rect, selectedObjects: (NodeModel | ConnectorModel)[]): (NodeModel | ConnectorModel)[];
/** @private */
export  function findNodeByName(nodes: (NodeModel | ConnectorModel)[], name: string): boolean;
/**
 * @private
 */
export  function findObjectType(drawingObject: NodeModel | ConnectorModel): string;
/**
 * @private
 */
export  function setSwimLaneDefaults(child: NodeModel | ConnectorModel, node: NodeModel | ConnectorModel): void;
/**
 * @private
 */
export  function setUMLActivityDefaults(child: NodeModel | ConnectorModel, node: NodeModel | ConnectorModel): void;
/**
 * @private
 */
export  function setConnectorDefaults(child: ConnectorModel, node: ConnectorModel): void;
/** @private */
export  function findNearestPoint(reference: PointModel, start: PointModel, end: PointModel): PointModel;
/** @private */
export  function isDiagramChild(htmlLayer: HTMLElement): boolean;
/** @private */
export  function groupHasType(node: NodeModel, type: Shapes, nameTable: {}): boolean;
/** @private */
export  function updateDefaultValues(actualNode: NodeModel | ConnectorModel, plainValue: NodeModel | ConnectorModel, defaultValue: object, property?: NodeModel | ConnectorModel, oldKey?: string): void;
/** @private */
export  function updateLayoutValue(actualNode: TreeInfo, defaultValue: object, nodes?: INode[], node?: INode): void;
/** @private */
export  function isPointOverConnector(connector: ConnectorModel, reference: PointModel): boolean;
/** @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: DiagramElement, corners: Corners, padding?: number): PointModel[];
/**
 * @private
 * sets the offset of the tooltip.
 * @param diagram
 * @param mousePosition
 * @param node
 */
export  function getTooltipOffset(diagram: Diagram, mousePosition: PointModel, node: NodeModel | ConnectorModel): PointModel;
/** @private */
export  function sort(objects: (NodeModel | ConnectorModel)[], option: DistributeOptions): (NodeModel | ConnectorModel)[];
/** @private */
export  function getAnnotationPosition(pts: PointModel[], annotation: PathAnnotation, bound: Rect): SegmentInfo;
/** @private */
export  function getOffsetOfConnector(points: PointModel[], annotation: PathAnnotation, bounds: Rect): SegmentInfo;
/** @private */
export  function getAlignedPosition(annotation: PathAnnotation): number;
/** @private */
export  function alignLabelOnSegments(obj: PathAnnotation, ang: number, pts: PointModel[]): Alignment;
/** @private */
export  function getBezierDirection(src: PointModel, tar: PointModel): string;
/** @private */
export  function removeChildNodes(node: NodeModel, diagram: Diagram): void;
/** @private */
export  function serialize(model: Diagram): string;
/** @private */
export  function deserialize(model: string, diagram: Diagram): Object;
/** @private */
export  function upgrade(dataObj: Diagram): Diagram;
/** @private */
export  function updateStyle(changedObject: TextStyleModel, target: DiagramElement): void;
/** @private */
export  function updateHyperlink(changedObject: HyperlinkModel, target: DiagramElement, actualAnnotation: AnnotationModel): void;
/** @private */
export  function updateShapeContent(content: DiagramElement, actualObject: Node, diagram: Diagram): void;
/** @private */
export  function updateShape(node: Node, actualObject: Node, oldObject: Node, diagram: Diagram): void;
/** @private */
export  function updateContent(newValues: Node, actualObject: Node, diagram: Diagram): void;
/** @private */
export  function updateUmlActivityNode(actualObject: Node, newValues: Node): void;
/** @private */
export  function getUMLFinalNode(node: Node): Canvas;
/** @private */
export  function getUMLActivityShapes(umlActivityShape: PathElement, content: DiagramElement, node: Node): DiagramElement;
/**   @private  */
export  function removeGradient(svgId: string): void;
/** @private */
export  function removeItem(array: String[], item: string): void;
/** @private */
export  function updateConnector(connector: Connector, points: PointModel[]): void;
/** @private */
export  function getUserHandlePosition(selectorItem: SelectorModel, handle: UserHandleModel, transform?: TransformFactor): PointModel;
/** @private */
export  function canResizeCorner(selectorConstraints: SelectorConstraints, action: string, thumbsConstraints: ThumbsConstraints, selectedItems: Selector): boolean;
/** @private */
export  function canShowCorner(selectorConstraints: SelectorConstraints, action: string): boolean;
/** @private */
export  function checkPortRestriction(port: PointPortModel, portVisibility: PortVisibility): number;
/** @private */
export  function findAnnotation(node: NodeModel | ConnectorModel, id: string): ShapeAnnotationModel | PathAnnotationModel | TextModel;
/** @private */
export  function findPort(node: NodeModel | ConnectorModel, id: string): PointPortModel;
/** @private */
export  function getInOutConnectPorts(node: NodeModel, isInConnect: boolean): PointPortModel;
/** @private */
export  function findObjectIndex(node: NodeModel | ConnectorModel, id: string, annotation?: boolean): string;
/** @private */
export  function getObjectFromCollection(obj: (NodeModel | ConnectorModel)[], id: string): boolean;
/** @private */
export  function scaleElement(element: DiagramElement, sw: number, sh: number, refObject: DiagramElement): void;
/** @private */
export  function arrangeChild(obj: Node, x: number, y: number, nameTable: {}, drop: boolean, diagram: Diagram | SymbolPalette): void;
/** @private */
export  function insertObject(obj: NodeModel | ConnectorModel, key: string, collection: Object[]): void;
/** @private */
export  function getElement(element: DiagramHtmlElement | DiagramNativeElement): Object;
/** @private */
export  function getCollectionChangeEventArguements(args1: IBlazorCollectionChangeEventArgs, obj: NodeModel | ConnectorModel, state: EventState, type: ChangeType): IBlazorCollectionChangeEventArgs;
/** @private */
export  function getDropEventArguements(args: MouseEventArgs, arg: IBlazorDropEventArgs): IBlazorDropEventArgs;
/** @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
 * @param obj
 */
export  let getObjectType: Function;
/** @private */
export  let flipConnector: Function;
/** @private */
export  let updatePortEdges: Function;
/** @private */
export  let alignElement: Function;
/** @private */
export  let updatePathElement: Function;
/** @private */
export  let findPath: Function;
/** @private */
export  let findDistance: Function;
/** @private */
export  function cloneBlazorObject(args: object): Object;
//node_modules/@syncfusion/ej2-diagrams/src/diagram/utility/dom-util.d.ts
/**
 * Defines the functionalities that need to access DOM
 */
/** @private */
export  function removeElementsByClass(className: string, id?: string): void;
/** @private */
export  function findSegmentPoints(element: PathElement): PointModel[];
export  function getChildNode(node: SVGElement): SVGElement[] | HTMLCollection;
export  function translatePoints(element: PathElement, points: PointModel[]): PointModel[];
/** @private */
export  function measurePath(data: string): Rect;
export  function measureHtmlText(style: TextStyleModel, content: string, width: number, height: number, maxWidth?: number): Size;
/** @private */
export  function measureText(text: TextElement, style: TextStyleModel, content: string, maxWidth?: number, textValue?: string): Size;
/** @private */
export  function measureImage(source: string, contentSize: Size): Size;
/** @private */
export  function measureNativeContent(nativeContent: SVGElement): Rect;
/**
 * @private
 */
export  function measureNativeSvg(nativeContent: SVGElement): Rect;
/** @private */
export  function updatePath(element: PathElement, bounds: Rect, child: PathElement, options?: BaseAttributes): string;
/** @private */
export  function getDiagramLayerSvg(diagramId: string): SVGSVGElement;
/** @private */
export  function getDiagramElement(elementId: string, contentId?: string): HTMLElement;
/** @private */
export  function getDomIndex(viewId: string, elementId: string, layer: string): number;
/**
 * @private
 */
export  function getAdornerLayerSvg(diagramId: string): SVGSVGElement;
/** @private */
export  function getSelectorElement(diagramId: string): SVGElement;
/**
 * @private
 */
export  function getAdornerLayer(diagramId: string): SVGElement;
/** @private */
export  function getDiagramLayer(diagramId: string): SVGElement;
/** @private */
export  function getPortLayerSvg(diagramId: string): SVGSVGElement;
/** @private */
export  function getNativeLayerSvg(diagramId: string): SVGSVGElement;
/** @private */
export  function getGridLayerSvg(diagramId: string): SVGSVGElement;
/** @private */
export  function getBackgroundLayerSvg(diagramId: string): SVGSVGElement;
/** @private */
export  function getBackgroundImageLayer(diagramId: string): SVGSVGElement;
/** @private */
export  function getBackgroundLayer(diagramId: string): SVGSVGElement;
/** @private */
export  function getGridLayer(diagramId: string): SVGElement;
/** @private */
export  function getNativeLayer(diagramId: string): SVGElement;
/** @private */
export  function getHTMLLayer(diagramId: string): HTMLElement;
/** @private */
export  function createHtmlElement(elementType: string, attribute: Object): HTMLElement;
/** @private */
export  function createSvgElement(elementType: string, attribute: Object): SVGElement;
/** @hidden */
export  function parentsUntil(elem: Element, selector: string, isID?: boolean): Element;
export  function hasClass(element: HTMLElement, className: string): boolean;
/** @hidden */
export  function getScrollerWidth(): number;
/**
 * Handles the touch pointer.
 * @return {boolean}
 * @private
 */
export  function addTouchPointer(touchList: ITouches[], e: PointerEvent, touches: TouchList): ITouches[];
/**
 * removes the element from dom
 * @param elementId
 */
export  function removeElement(elementId: string, contentId?: string): void;
export  function getContent(element: DiagramHtmlElement | DiagramNativeElement, isHtml: boolean): HTMLElement | SVGElement;
/** @private */
export  function setAttributeSvg(svg: SVGElement, attributes: Object): void;
/** @private */
export  function setAttributeHtml(element: HTMLElement, attributes: Object): void;
/** @private */
export  function createMeasureElements(): void;
/** @private */
export  function setChildPosition(temp: SubTextElement, childNodes: SubTextElement[], i: number, options: TextAttributes): number;
//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
 */
/** @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;
/**
 * Used to find the path for polygon shapes
 */
export  function getPolygonPath(collection: PointModel[]): 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-diagrams/src/diagram/utility/swim-lane-util.d.ts
/**
 * SwimLane modules are used to rendering and interaction.
 */
/** @private */
export  function initSwimLane(grid: GridPanel, diagram: Diagram, node: NodeModel): void;
/** @private */
export  function addObjectToGrid(diagram: Diagram, grid: GridPanel, parent: NodeModel, object: NodeModel, isHeader?: boolean, isPhase?: boolean, isLane?: boolean, canvas?: string): Container;
/** @private */
export  function headerDefine(grid: GridPanel, diagram: Diagram, object: NodeModel): void;
/** @private */
export  function phaseDefine(grid: GridPanel, diagram: Diagram, object: NodeModel, indexValue: number, orientation: boolean, phaseIndex: number): void;
/** @private */
export  function laneCollection(grid: GridPanel, diagram: Diagram, object: NodeModel, indexValue: number, laneIndex: number, orientation: boolean): void;
/** @private */
export  function createRow(row: RowDefinition[], height: number): void;
/** @private */
export  function createColumn(width: number): ColumnDefinition;
/** @private */
export  function initGridRow(row: RowDefinition[], orientation: boolean, object: NodeModel): void;
/** @private */
export  function initGridColumns(columns: ColumnDefinition[], orientation: boolean, object: NodeModel): void;
/** @private */
export  function getConnectors(diagram: Diagram, grid: GridPanel, rowIndex: number, isRowUpdate: boolean): string[];
/** @private */
export  function swimLaneMeasureAndArrange(obj: NodeModel): void;
/** @private */
export  function ChangeLaneIndex(diagram: Diagram, obj: NodeModel, startRowIndex: number): void;
/** @private */
export  function arrangeChildNodesInSwimLane(diagram: Diagram, obj: NodeModel): void;
/** @private */
export  function updateChildOuterBounds(grid: GridPanel, obj: NodeModel): void;
/** @private */
export  function checkLaneSize(obj: NodeModel): void;
/** @private */
export  function checkPhaseOffset(obj: NodeModel, diagram: Diagram): void;
/** @private */
export  function updateConnectorsProperties(connectors: string[], diagram: Diagram): void;
/** @private */
export  function laneInterChanged(diagram: Diagram, obj: NodeModel, target: NodeModel, position?: PointModel): void;
/** @private */
export  function updateSwimLaneObject(diagram: Diagram, obj: Node, swimLane: NodeModel, helperObject: NodeModel): void;
/** @private */
export  function findLaneIndex(swimLane: NodeModel, laneObj: NodeModel): number;
/** @private */
export  function findPhaseIndex(phase: NodeModel, swimLane: NodeModel): number;
/** @private */
export  function findStartLaneIndex(swimLane: NodeModel): number;
/** @private */
export  function updatePhaseMaxWidth(parent: NodeModel, diagram: Diagram, wrapper: Canvas, columnIndex: number): void;
/** @private */
export  function updateHeaderMaxWidth(diagram: Diagram, swimLane: NodeModel): void;
/** @private */
export  function addLane(diagram: Diagram, parent: NodeModel, lane: LaneModel, count?: number): void;
export  function addPhase(diagram: Diagram, parent: NodeModel, newPhase: PhaseModel): void;
export  function addLastPhase(phaseIndex: number, parent: NodeModel, entry: HistoryEntry, grid: GridPanel, orientation: boolean, newPhase: PhaseModel): void;
export  function addHorizontalPhase(diagram: Diagram, node: NodeModel, grid: GridPanel, index: number, orientation: boolean): void;
export  function addVerticalPhase(diagram: Diagram, node: NodeModel, grid: GridPanel, rowIndex: number, orientation: boolean): void;
export  function arrangeChildInGrid(diagram: Diagram, nextCell: GridCell, gridCell: GridCell, rect: Rect, parentWrapper: Container, orientation: boolean, prevCell?: GridCell): void;
export  function swimLaneSelection(diagram: Diagram, node: NodeModel, corner: string): void;
export  function pasteSwimLane(swimLane: NodeModel, diagram: Diagram, clipboardData?: ClipBoardObject, laneNode?: NodeModel, isLane?: boolean, isUndo?: boolean): NodeModel;
export  function gridSelection(diagram: Diagram, selectorModel: SelectorModel, id?: string, isSymbolDrag?: boolean): Canvas;
export  function removeLaneChildNode(diagram: Diagram, swimLaneNode: NodeModel, currentObj: NodeModel, isChildNode?: NodeModel, laneIndex?: number): void;
export  function getGridChildren(obj: DiagramElement): DiagramElement;
export  function removeSwimLane(diagram: Diagram, obj: NodeModel): void;
export  function removeLane(diagram: Diagram, lane: NodeModel, swimLane: NodeModel, lanes?: LaneModel): void;
export  function removeChildren(diagram: Diagram, canvas: Canvas): void;
export  function removePhase(diagram: Diagram, phase: NodeModel, swimLane: NodeModel, swimLanePhases?: PhaseModel): void;
export  function removeHorizontalPhase(diagram: Diagram, grid: GridPanel, phase: NodeModel, phaseIndex?: number): void;
export  function removeVerticalPhase(diagram: Diagram, grid: GridPanel, phase: NodeModel, phaseIndex: number, swimLane: NodeModel): void;
/**
 * @private
 */
export  function considerSwimLanePadding(diagram: Diagram, node: NodeModel, padding: number): void;
/**
 * @private
 */
export  function checkLaneChildrenOffset(swimLane: NodeModel): 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
 */
/** @private */
export  function getULMClassifierShapes(content: DiagramElement, node: NodeModel, diagram: Diagram): DiagramElement;
/** @private */
export  function getClassNodes(node: Node, diagram: Diagram, classifier: UmlClassModel, textWrap: TextWrap): void;
/** @private */
export  function getClassMembers(node: Node, diagram: Diagram, classifier: UmlClassModel, textWrap: TextWrap): void;
/** @private */
export  function addSeparator(stack: Node, diagram: Diagram): void;
/** @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  */
    diagramRenderer: DiagramRenderer;
    constructor(options?: OverviewModel, element?: HTMLElement | string);
    /**
     * Updates the overview control when the objects are changed
     * @param newProp Lists the new values of the changed properties
     * @param 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.
     * @return {string}
     */
    getPersistData(): string;
    /**
     * Initialize nodes, connectors and renderer
     */
    protected preRender(): void;
    protected render(): void;
    private getSizeValue;
    private renderCanvas;
    private setParent;
    private getDiagram;
    private unWireEvents;
    private wireEvents;
    /**
     * @private
     */
    /**
     * @private
     */
    renderDocument(view: Overview): void;
    /** @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(view: Overview): void;
    private scrolled;
    private updateCursor;
    private mouseMove;
    private documentMouseUp;
    private windowResize;
    /** @private */
    mouseDown(evt: PointerEvent | TouchEvent): void;
    private mouseUp;
    private initHelper;
    private mousePosition;
    /**
     * To destroy the Overview
     * @return {void}
     * @private
     */
    destroy(): void;
    /**
     * Get module name.
     */
    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
     */
    constructor(options?: RulerModel, element?: string | HTMLElement);
    /**
     * Initializes the values of private members.
     * @private
     */
    protected preRender(): void;
    /**
     * Renders the rulers.
     * @private
     */
    render(): void;
    /**
     * Core method to return the component name.
     * @private
     */
    getModuleName(): string;
    /**
     * To destroy the ruler
     * @return {void}
     */
    destroy(): void;
    /**
     * Get the properties to be maintained in the persisted state.
     * @return {string}
     */
    getPersistData(): string;
    /**
     * Refreshes the ruler when the Ruler properties are updated
     * @param options
     */
    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 scale
     */
    updateSegmentWidth(scale: number): number;
    private createMarkerLine;
    /**
     * @private
     * @param rulerObj
     * @param currentPoint
     */
    drawRulerMarker(rulerObj: HTMLElement, currentPoint: PointModel, offset: number): void;
    private getRulerGeometry;
    private getRulerSize;
    private getRulerSVG;
    /**
     * Method to bind events for the ruler
     */
    private wireEvents;
    /**
     * Method to unbind events for the ruler
     */
    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
     * @blazorDefaultValueIgnore
     * @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 SymbolPreview
 */
export interface SymbolPreviewModel {
    /**
     * Sets the preview width of the symbols
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    width?: number;
    /**
     * Sets the preview height of the symbols
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getSymbolTemplate?: Function | string;
    /**
     * Defines the width of the symbol
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    symbolWidth?: number;
    /**
     * Defines the height of the symbol
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    symbolPreview?: SymbolPreviewModel;
    /**
     * 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'
     */
    expandMode?: navigations.ExpandMode;
    /**
     * Triggers after the selection changes in the symbol palette
     * @event
     * @blazorProperty 'OnPaletteSelectionChange'
     */
    paletteSelectionChange?: base.EmitType<IPaletteSelectionChangeArgs>;
    /**
     * Helps to return the default properties of node
     * @deprecated
     */
    getNodeDefaults?: Function | string;
    /**
     * Helps to return the default properties of node
     * @blazorType DiagramNode
     */
    nodeDefaults?: NodeModel;
    /**
     * Helps to return the default properties of connector
     * @deprecated
     */
    getConnectorDefaults?: Function | string;
    /**
     * Helps to return the default properties of connectors
     * @blazorType DiagramConnector
     */
    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
     * @blazorDefaultValueIgnore
     * @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;
}
/**
 * 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
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    width: number;
    /**
     * Sets the preview height of the symbols
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @default undefined
     * @deprecated
     */
    getSymbolTemplate: Function | string;
    /**
     * Defines the width of the symbol
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    symbolWidth: number;
    /**
     * Defines the height of the symbol
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    symbolPreview: SymbolPreviewModel;
    /**
     * 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'
     */
    expandMode: navigations.ExpandMode;
    /**
     * Triggers after the selection changes in the symbol palette
     * @event
     * @blazorProperty 'OnPaletteSelectionChange'
     */
    paletteSelectionChange: base.EmitType<IPaletteSelectionChangeArgs>;
    /**
     * `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
     * @blazorType DiagramNode
     */
    nodeDefaults: NodeModel;
    /**
     * Helps to return the default properties of connector
     * @deprecated
     */
    getConnectorDefaults: Function | string;
    /**
     * Helps to return the default properties of connectors
     * @blazorType DiagramConnector
     */
    connectorDefaults: ConnectorModel;
    /** @private */
    selectedSymbols: NodeModel | ConnectorModel;
    /**   @private  */
    symbolTable: {};
    /**   @private  */
    childTable: {};
    private diagramRenderer;
    private svgRenderer;
    private accordionElement;
    private highlightedSymbol;
    private selectedSymbol;
    private info;
    private timer;
    private draggable;
    private laneTable;
    private isExpand;
    private isExpandMode;
    private isMethod;
    /**
     * Constructor for creating the component
     * @hidden
     */
    constructor(options?: SymbolPaletteModel, element?: Element);
    /**
     * Refreshes the panel when the symbol palette properties are updated
     * @param newProp Defines the new values of the changed properties
     * @param oldProp Defines the old values of the changed properties
     */
    onPropertyChanged(newProp: SymbolPaletteModel, oldProp: SymbolPaletteModel): void;
    /**
     * Get the properties to be maintained in the persisted state.
     * @return {string}
     */
    getPersistData(): string;
    /**
     * Initialize nodes, connectors and renderer
     */
    protected preRender(): void;
    /**
     * Renders nodes and connectors in the symbol palette
     */
    render(): void;
    /**
     * To get Module name
     *  @private
     */
    getModuleName(): string;
    /**
     * To provide the array of modules needed for control rendering
     * @return {base.ModuleDeclaration[]}
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * To destroy the symbol palette
     * @return {void}
     */
    destroy(): void;
    /**
     * Method to initialize the items in the symbols
     */
    private initSymbols;
    /**
     * Method to create the palette
     */
    private renderPalette;
    /**
     * Used to add the palette item as nodes or connectors in palettes
     */
    addPaletteItem(paletteName: string, paletteSymbol: NodeModel | ConnectorModel): void;
    /**
     * Used to remove the palette item as nodes or connectors in palettes
     */
    removePaletteItem(paletteName: string, symbolId: string): void;
    /**
     * Method to create the symbols in canvas
     */
    private prepareSymbol;
    private getContainer;
    /**
     * Method to get the symbol text description
     * @return {void}
     * @private
     */
    private getSymbolDescription;
    /**
     * Method to renders the symbols
     * @return {void}
     * @private
     */
    private renderSymbols;
    /**
     * Method to clone the symbol for previewing the symbols
     * @return {void}
     * @private
     */
    private getSymbolPreview;
    private measureAndArrangeSymbol;
    private updateSymbolSize;
    /**
     * Method to create canvas and render the symbol
     * @return {void}
     * @private
     */
    private getSymbolContainer;
    private getGroupParent;
    private getHtmlSymbol;
    private getSymbolSize;
    private getMousePosition;
    private mouseMove;
    private mouseUp;
    private keyUp;
    private mouseDown;
    private keyDown;
    private initDraggable;
    /**
     * helper method for draggable
     * @return {void}
     * @private
     */
    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;
    /**
     * Method to bind events for the symbol palette
     */
    private wireEvents;
    /**
     * Method to unbind events for the symbol palette
     */
    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
     * @blazorDefaultValueIgnore
     * @default undefined
     */
    width?: number;
    /**
     * Defines the height of the symbol to be drawn over the palette
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @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
     * @blazorDefaultValueIgnore
     * @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;
}
 }
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 local paste
     * @default true
     */
    enableLocalPaste?: boolean;
    /**
     * Sfdt service URL.
     * @default ''
     */
    serviceUrl?: string;
    /**
     * Triggers when the component is created
     * @event
     * @blazorproperty 'Created'
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     * @event
     * @blazorproperty 'Destroyed'
     */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers whenever the content changes in the document editor container.
     * @event
     * @blazorproperty 'ContentChanged'
     */
    contentChange?: base.EmitType<ContainerContentChangeEventArgs>;
    /**
     * Triggers whenever selection changes in the document editor container.
     * @event
     * @blazorproperty 'SelectionChanged'
     */
    selectionChange?: base.EmitType<ContainerSelectionChangeEventArgs>;
    /**
     * Triggers whenever document changes in the document editor container.
     * @event
     * @blazorproperty 'DocumentChanged'
     */
    documentChange?: base.EmitType<ContainerDocumentChangeEventArgs>;
    /**
     * Triggers while selecting the custom context-menu option.
     * @event
     * @blazorproperty 'ContextMenuItemSelected'
     */
    customContextMenuSelect?: base.EmitType<CustomContentMenuEventArgs>;
    /**
     * Triggers before opening the custom context-menu option.
     * @event
     * @blazorproperty 'OnContextMenuOpen'
     */
    customContextMenuBeforeOpen?: base.EmitType<BeforeOpenCloseCustomContentMenuEventArgs>;
    /**
     * Defines the settings of the DocumentEditorContainer service.
     */
    // tslint:disable-next-line:max-line-length
    serverActionSettings?: ContainerServerActionSettingsModel;
}
//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 local paste
     * @default true
     */
    enableLocalPaste: boolean;
    /**
     * Sfdt service URL.
     * @default ''
     */
    serviceUrl: string;
    /**
     * Triggers when the component is created
     * @event
     * @blazorproperty 'Created'
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     * @event
     * @blazorproperty 'Destroyed'
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers whenever the content changes in the document editor container.
     * @event
     * @blazorproperty 'ContentChanged'
     */
    contentChange: base.EmitType<ContainerContentChangeEventArgs>;
    /**
     * Triggers whenever selection changes in the document editor container.
     * @event
     * @blazorproperty 'SelectionChanged'
     */
    selectionChange: base.EmitType<ContainerSelectionChangeEventArgs>;
    /**
     * Triggers whenever document changes in the document editor container.
     * @event
     * @blazorproperty 'DocumentChanged'
     */
    documentChange: base.EmitType<ContainerDocumentChangeEventArgs>;
    /**
     * Triggers while selecting the custom context-menu option.
     * @event
     * @blazorproperty 'ContextMenuItemSelected'
     */
    customContextMenuSelect: base.EmitType<CustomContentMenuEventArgs>;
    /**
     * Triggers before opening the custom context-menu option.
     * @event
     * @blazorproperty 'OnContextMenuOpen'
     */
    customContextMenuBeforeOpen: base.EmitType<BeforeOpenCloseCustomContentMenuEventArgs>;
    /**
     * 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;
    /**
     * Text Properties
     * @private
     */
    textProperties: TextProperties;
    /**
     * 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;
    /**
     * Defines the settings of the DocumentEditorContainer service.
     */
    serverActionSettings: ContainerServerActionSettingsModel;
    /**
     * Gets DocumentEditor instance.
     * @aspType DocumentEditor
     * @blazorType DocumentEditor
     */
    readonly documentEditor: DocumentEditor;
    /**
     * Initialize the constructor of DocumentEditorContainer
     */
    constructor(options?: DocumentEditorContainerModel, element?: string | HTMLElement);
    /**
     * default locale
     * @private
     */
    defaultLocale: Object;
    /**
     * @private
     */
    getModuleName(): string;
    /**
     * @private
     */
    onPropertyChanged(newModel: DocumentEditorContainerModel, oldModel: DocumentEditorContainerModel): void;
    /**
     * @private
     */
    protected preRender(): void;
    /**
     * @private
     */
    protected render(): void;
    private setserverActionSettings;
    /**
     * @private
     */
    getPersistData(): string;
    protected requiredModules(): base.ModuleDeclaration[];
    private initContainerElement;
    private initializeDocumentEditor;
    /**
     * @private
     */
    showHidePropertiesPane(show: boolean): void;
    /**
     * @private
     */
    onContentChange(): void;
    /**
     * @private
     */
    onDocumentChange(): void;
    /**
     * @private
     */
    onSelectionChange(): void;
    /**
     * @private
     */
    private onZoomFactorChange;
    /**
     * @private
     */
    private onRequestNavigate;
    /**
     * @private
     */
    private onViewChange;
    /**
     * @private
     */
    private onCustomContextMenuSelect;
    /**
     * @private
     */
    private onCustomContextMenuBeforeOpen;
    /**
     * @private
     */
    showPropertiesPaneOnSelection(): void;
    /**
     * @private
     * @param property
     */
    showProperties(property: string): 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: DocumentEditor;
    readonly toolbar: Toolbar;
    /**
     * @private
     */
    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;
    readonly documentEditor: DocumentEditor;
    constructor(container: DocumentEditorContainer, isRtl?: boolean);
    /**
     * @private
     */
    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 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;
    readonly documentEditor: DocumentEditor;
    constructor(container: DocumentEditorContainer);
    initializeParagraphPropertiesDiv(wholeDiv: HTMLElement, isRtl?: boolean): void;
    private createSeperator;
    private createDivElement;
    private createButtonTemplate;
    private createLineSpacingDropdown;
    private createNumberListDropButton;
    private updateSelectedBulletListType;
    private updateSelectedNumberedListType;
    private removeSelectedList;
    private applyLastAppliedNumbering;
    private applyLastAppliedBullet;
    private createBulletListDropButton;
    private createNumberListTag;
    private createNumberNoneListTag;
    private createBulletListTag;
    private createStyleDropDownList;
    private updateOptions;
    updateStyleNames(): void;
    private closeStyleValue;
    private createStyle;
    private constructStyleDropItems;
    private parseStyle;
    wireEvent(): void;
    unwireEvents(): 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 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 pageNumberLabel;
    private editablePageNumber;
    startPage: number;
    localObj: base.L10n;
    private spellCheckButton;
    private currentLanguage;
    private allowSuggestion;
    readonly documentEditor: DocumentEditor;
    readonly editorPageCount: number;
    constructor(parentElement: HTMLElement, docEditor: DocumentEditorContainer);
    private initializeStatusBar;
    private addSpellCheckElement;
    private onZoom;
    private onSpellCheck;
    updateZoomContent: () => void;
    private setSpellCheckValue;
    private setZoomValue;
    /**
     * Updates page count.
     */
    updatePageCount: () => void;
    /**
     * Updates page number.
     */
    updatePageNumber: () => void;
    updatePageNumberOnViewChange: (args: ViewChangeEventArgs) => void;
    private wireEvents;
    private updateDocumentEditorPageNumber;
    private destroy;
}
//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: DocumentEditor;
    /**
     * @private
     */
    readonly toolbar: Toolbar;
    constructor(container: DocumentEditorContainer, isRtl?: boolean);
    /**
     * @private
     */
    enableDisableElements(enable: boolean): void;
    private initializeTocPane;
    private updateTocProperties;
    private wireEvents;
    private onClose;
    private tocHeaderDiv;
    private initTemplates;
    private template1;
    private tocOptionsDiv;
    private createDropdownOption;
    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 textProperties;
    private isTopMarginApply;
    private isRightMarginApply;
    private isBottomMarginApply;
    private isLeftMarginApply;
    private borderColor;
    private parentElement;
    localObj: base.L10n;
    private isRtl;
    private groupButtonClass;
    readonly documentEditor: DocumentEditor;
    constructor(container: DocumentEditorContainer, imageProperty: ImageProperties, textProperties: TextProperties, isRtl?: boolean);
    private initializeTablePropPane;
    /**
     * @private
     */
    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) => 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;
    private isInitial;
    readonly documentEditor: DocumentEditor;
    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 fontColor;
    private highlightColor;
    private highlightColorElement;
    private fontColorInputElement;
    private highlightColorInputElement;
    private clearFormat;
    private fontSize;
    private fontFamily;
    private isRetrieving;
    appliedHighlightColor: string;
    localObj: base.L10n;
    private isRtl;
    readonly documentEditor: DocumentEditor;
    constructor(container: DocumentEditorContainer, isRtl?: boolean);
    initializeTextPropertiesDiv(wholeDiv: HTMLElement, isRtl?: boolean): void;
    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;
    /**
     * Adds file colot elements to parent div.
     */
    private createColorTypeInput;
    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
     */
    readonly documentEditor: DocumentEditor;
    /**
     * @private
     */
    constructor(container: DocumentEditorContainer);
    private getModuleName;
    /**
     * @private
     */
    initToolBar(): void;
    private renderToolBar;
    private showHidePropertiesPane;
    private onWrapText;
    private wireEvent;
    private initToolbarItems;
    private clickHandler;
    private toggleLocalPaste;
    private toggleEditing;
    private toggleButton;
    private togglePropertiesPane;
    private onDropDownButtonSelect;
    private onFileChange;
    private convertToSfdt;
    private failureHandler;
    private successHandler;
    private onImageChange;
    private insertImage;
    /**
     * @private
     */
    enableDisableToolBarItem(enable: boolean, isProtectedContent: boolean): void;
    /**
     * @private
     */
    enableDisableUndoRedo(): void;
    private onToc;
    /**
     * @private
     */
    enableDisablePropertyPaneButton(isShow: boolean): void;
    /**
     * @private
     */
    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;
    private xmlHttpRequest;
    /**
     * Send the request to server
     * @param  {object} jsonObject - To send to service
     */
    send(jsonObject: object): 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;
}
//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
/**
 * 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 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;
}
//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';
/**
 * Enum underline for character format
 */
export  type Underline = 'None' | 'Single' | 'Words' | 'Double' | 'Dotted' | 'Thick' | 'Dash' | 'DashLong' | 'DotDash' | 'DotDotDash' | 'Wavy' | 'DottedHeavy' | 'DashHeavy' | 'DashLongHeavy' | 'DotDashHeavy' | 'DotDotDashHeavy' | 'WavyHeavy' | 'WavyDouble';
/**
 * enum strikethrough for character format
 */
export  type Strikethrough = 'None' | 'SingleStrike' | 'DoubleStrike';
/**
 * enum baseline alignment for character format
 */
export  type BaselineAlignment = 'Normal' | 'Superscript' | 'Subscript';
/**
 * enum highlight color for character format
 */
export  type HighlightColor = 'NoColor' | 'Yellow' | 'BrightGreen' | 'Turquoise' | 'Pink' | 'Blue' | 'Red' | 'DarkBlue' | 'Teal' | 'Green' | 'Violet' | 'DarkRed' | 'DarkYellow' | 'Gray50' | 'Gray25' | '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 = 'EvenHeader' | 'OddHeader' | 'EvenFooter' | 'OddFooter' | 'FirstPageHeader' | 'FirstPageFooter';
/**
 * Enum for List type
 */
export  type ListType = 'None' | 'Bullet' | 'Numbering' | 'OutlineNumbering';
/**
 * Enum for List Level Pattern
 */
export  type ListLevelPattern = 'Arabic' | 'UpRoman' | 'LowRoman' | 'UpLetter' | 'LowLetter' | 'Ordinal' | 'Number' | 'OrdinalText' | 'LeadingZero' | 'Bullet' | 'FarEast' | 'Special' | 'None';
/**
 * Enum for follow character type
 */
export  type FollowCharacterType = 'Tab' | 'Space' | 'None';
export  type TableAlignment = 'Left' | 'Center' | 'Right';
export  type WidthType = 'Auto' | 'Percent' | 'Point';
export  type CellVerticalAlignment = 'Top' | 'Center' | 'Bottom';
export  type HeightType = 'Auto' | 'AtLeast' | 'Exactly';
export  type LineStyle = 'None' | 'Single' | 'Dot' | 'DashSmallGap' | 'DashLargeGap' | //dashed
'DashDot' | //dotDash
'DashDotDot' | //dotDotDash
'Double' | 'Triple' | 'ThinThickSmallGap' | 'ThickThinSmallGap' | 'ThinThickThinSmallGap' | 'ThinThickMediumGap' | 'ThickThinMediumGap' | 'ThinThickThinMediumGap' | 'ThinThickLargeGap' | 'ThickThinLargeGap' | 'ThinThickThinLargeGap' | 'SingleWavy' | //wave.
'DoubleWavy' | //doubleWave.
'DashDotStroked' | 'Emboss3D' | 'Engrave3D' | 'Outset' | 'Inset' | 'Thick' | 'Cleared';
export  type TextureStyle = 'TextureNone' | 'Texture2Pt5Percent' | 'Texture5Percent' | 'Texture7Pt5Percent' | 'Texture10Percent' | 'Texture12Pt5Percent' | 'Texture15Percent' | 'Texture17Pt5Percent' | 'Texture20Percent' | 'Texture22Pt5Percent' | 'Texture25Percent' | 'Texture27Pt5Percent' | 'Texture30Percent' | 'Texture32Pt5Percent' | 'Texture35Percent' | 'Texture37Pt5Percent' | 'Texture40Percent' | 'Texture42Pt5Percent' | 'Texture45Percent' | 'Texture47Pt5Percent' | 'Texture50Percent' | 'Texture52Pt5Percent' | 'Texture55Percent' | 'Texture57Pt5Percent' | 'Texture60Percent' | 'Texture62Pt5Percent' | 'Texture65Percent' | 'Texture67Pt5Percent' | 'Texture70Percent' | 'Texture72Pt5Percent' | 'Texture75Percent' | 'Texture77Pt5Percent' | 'Texture80Percent' | 'Texture82Pt5Percent' | 'Texture85Percent' | 'Texture87Pt5Percent' | 'Texture90Percent' | 'Texture92Pt5Percent' | 'Texture95Percent' | 'Texture97Pt5Percent' | 'TextureSolid' | 'TextureDarkHorizontal' | 'TextureDarkVertical' | 'TextureDarkDiagonalDown' | 'TextureDarkDiagonalUp' | 'TextureDarkCross' | 'TextureDarkDiagonalCross' | 'TextureHorizontal' | 'TextureVertical' | 'TextureDiagonalDown' | 'TextureDiagonalUp' | 'TextureCross' | '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 = 'None' | 'WholeWord' | 'CaseSensitive' | 'CaseSensitiveWholeWord';
/**
 * WColor interface
 * @private
 */
export interface WColor {
    r: number;
    g: number;
    b: number;
}
export  type OutlineLevel = 'Level1' | 'Level2' | 'Level3' | 'Level4' | 'Level5' | 'Level6' | 'Level7' | 'Level8' | 'Level9' | 'BodyText';
/**
 * Specifies style type.
 */
export  type StyleType = 
/**
 * Paragraph style.
 */
'Paragraph' | 
/**
 * Character style.
 */
'Character';
/**
 * Specifies table row placement.
 * @private
 */
export  type RowPlacement = 'Above' | 'Below';
/**
 * Specifies table column placement.
 * @private
 */
export  type ColumnPlacement = 'Left' | '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 = 'Text' | 'Image' | 'List' | 'TableText' | 'TableImage' | 'HeaderText' | 'HeaderImage' | 'HeaderTableText' | 'HeaderTableImage' | 'FooterText' | 'FooterImage' | 'FooterTableText' | 'FooterTableImage' | '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';
/**
 * @private
 * Action type
 */
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' | 'LineSpacing' | 'LineSpacingType' | 'ListFormat' | 'ParagraphFormat' | 'SectionFormat' | 'List' | 'InsertRowAbove' | 'InsertRowBelow' | 'DeleteTable' | 'DeleteRow' | 'DeleteColumn' | 'InsertColumnLeft' | 'InsertColumnRight' | 'TableFormat' | 'RowFormat' | 'CellFormat' | 'TableProperties' | 'Paste' | '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';
export  type BiDirectionalOverride = 'None' | 'LTR' | 'RTL';
export  type AutoFitType = 'FitToContents' | 'FitToWindow' | 'FixedColumnWidth';
/**
 * Specifies the type of protection
 * @private
 */
export  type ProtectionType = 'NoProtection' | 'ReadOnly';
export  type PasteOptions = 'KeepSourceFormatting' | 'MergeWithExistingFormatting' | 'KeepTextOnly';
//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 DocumentEditor
 */
export interface DocumentEditorModel extends base.ComponentModel{
    /**
     * Default Paste Formatting Options
     * @default KeepSourceFormatting
     */
    defaultPasteOption?: PasteOptions;
    /**
     * Current User
     * @default ''
     */
    currentUser?: string;
    /**
     * User Selection Highlight Color
     * @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;
    /**
     * Sfdt Service URL
     * @default ''
     */
    serviceUrl?: string;
    /**
     * Gets or sets the zoom factor in document editor.
     * @default 1
     */
    zoomFactor?: 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 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 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;
    /**
     * Defines the settings of the DocumentEditor services
     */
    // tslint:disable-next-line:max-line-length
    serverActionSettings?: ServerActionSettingsModel;
    /**
     * Triggers whenever document changes in the document editor.
     * @event
     * @blazorproperty 'DocumentChanged'
     */
    documentChange?: base.EmitType<DocumentChangeEventArgs>;
    /**
     * Triggers whenever container view changes in the document editor.
     * @event
     * @blazorproperty 'ViewChanged'
     */
    viewChange?: base.EmitType<ViewChangeEventArgs>;
    /**
     * Triggers whenever zoom factor changes in the document editor.
     * @event
     * @blazorproperty 'ZoomFactorChanged'
     */
    zoomFactorChange?: base.EmitType<ZoomFactorChangeEventArgs>;
    /**
     * Triggers whenever selection changes in the document editor.
     * @event
     * @blazorproperty 'SelectionChanged'
     */
    selectionChange?: base.EmitType<SelectionChangeEventArgs>;
    /**
     * Triggers whenever hyperlink is clicked or tapped in the document editor.
     * @event
     * @blazorproperty 'OnRequestNavigate'
     */
    requestNavigate?: base.EmitType<RequestNavigateEventArgs>;
    /**
     * Triggers whenever content changes in the document editor.
     * @event
     * @blazorproperty 'ContentChanged'
     */
    contentChange?: base.EmitType<ContentChangeEventArgs>;
    /**
     * Triggers whenever key is pressed in the document editor.
     * @event
     * @blazorproperty 'OnKeyDown'
     */
    keyDown?: base.EmitType<DocumentEditorKeyDownEventArgs>;
    /**
     * Triggers whenever search results changes in the document editor.
     * @event
     * @blazorproperty 'SearchResultsChanged'
     */
    searchResultsChange?: base.EmitType<SearchResultsChangeEventArgs>;
    /**
     * Triggers when the component is created
     * @event
     * @blazorproperty 'Created'
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     * @event
     * @blazorproperty 'Destroyed'
     */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers while selecting the custom context-menu option.
     * @event
     * @blazorproperty 'ContextMenuItemSelected'
     */
    customContextMenuSelect?: base.EmitType<CustomContentMenuEventArgs>;
    /**
     * Triggers before opening the custom context-menu option.
     * @event
     * @blazorproperty 'OnContextMenuOpen'
     */
    customContextMenuBeforeOpen?: base.EmitType<BeforeOpenCloseCustomContentMenuEventArgs>;
}
/**
 * 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;
}
/**
 * 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 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
     */
    enableHeaderAndFooter: boolean;
    /**
     * @private
     */
    viewer: LayoutViewer;
    /**
     * @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
     */
    paragraphDialogModule: ParagraphDialog;
    /**
     * @private
     */
    optionsPaneModule: OptionsPane;
    /**
     * @private
     */
    hyperlinkDialogModule: HyperlinkDialog;
    /**
     * @private
     */
    bookmarkDialogModule: BookmarkDialog;
    /**
     * @private
     */
    stylesDialogModule: StylesDialog;
    /**
     * @private
     */
    contextMenuModule: ContextMenu;
    /**
     * @private
     */
    imageResizerModule: ImageResizer;
    /**
     * @private
     */
    searchModule: Search;
    /**
     * Default Paste Formatting Options
     * @default KeepSourceFormatting
     */
    defaultPasteOption: PasteOptions;
    /**
     * Current User
     * @default ''
     */
    currentUser: string;
    /**
     * User Selection Highlight Color
     * @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;
    /**
     * Sfdt Service URL
     * @default ''
     */
    serviceUrl: string;
    /**
     * Gets or sets the zoom factor in document editor.
     * @default 1
     */
    zoomFactor: 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 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 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;
    /**
     * Defines the settings of the DocumentEditor services
     */
    serverActionSettings: ServerActionSettingsModel;
    /**
     * Triggers whenever document changes in the document editor.
     * @event
     * @blazorproperty 'DocumentChanged'
     */
    documentChange: base.EmitType<DocumentChangeEventArgs>;
    /**
     * Triggers whenever container view changes in the document editor.
     * @event
     * @blazorproperty 'ViewChanged'
     */
    viewChange: base.EmitType<ViewChangeEventArgs>;
    /**
     * Triggers whenever zoom factor changes in the document editor.
     * @event
     * @blazorproperty 'ZoomFactorChanged'
     */
    zoomFactorChange: base.EmitType<ZoomFactorChangeEventArgs>;
    /**
     * Triggers whenever selection changes in the document editor.
     * @event
     * @blazorproperty 'SelectionChanged'
     */
    selectionChange: base.EmitType<SelectionChangeEventArgs>;
    /**
     * Triggers whenever hyperlink is clicked or tapped in the document editor.
     * @event
     * @blazorproperty 'OnRequestNavigate'
     */
    requestNavigate: base.EmitType<RequestNavigateEventArgs>;
    /**
     * Triggers whenever content changes in the document editor.
     * @event
     * @blazorproperty 'ContentChanged'
     */
    contentChange: base.EmitType<ContentChangeEventArgs>;
    /**
     * Triggers whenever key is pressed in the document editor.
     * @event
     * @blazorproperty 'OnKeyDown'
     */
    keyDown: base.EmitType<DocumentEditorKeyDownEventArgs>;
    /**
     * Triggers whenever search results changes in the document editor.
     * @event
     * @blazorproperty 'SearchResultsChanged'
     */
    searchResultsChange: base.EmitType<SearchResultsChangeEventArgs>;
    /**
     * Triggers when the component is created
     * @event
     * @blazorproperty 'Created'
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     * @event
     * @blazorproperty 'Destroyed'
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers while selecting the custom context-menu option.
     * @event
     * @blazorproperty 'ContextMenuItemSelected'
     */
    customContextMenuSelect: base.EmitType<CustomContentMenuEventArgs>;
    /**
     * Triggers before opening the custom context-menu option.
     * @event
     * @blazorproperty 'OnContextMenuOpen'
     */
    customContextMenuBeforeOpen: base.EmitType<BeforeOpenCloseCustomContentMenuEventArgs>;
    /**
     * @private
     */
    characterFormat: CharacterFormatProperties;
    /**
     * @private
     */
    paragraphFormat: ParagraphFormatProperties;
    /**
     * Gets the total number of pages.
     * @returns {number}
     */
    readonly pageCount: number;
    /**
     *  Gets the selection object of the document editor.
     * @aspType Selection
     * @blazorType Selection
     * @returns {Selection}
     * @default undefined
     */
    readonly selection: Selection;
    /**
     *  Gets the editor object of the document editor.
     * @aspType Editor
     * @blazorType Editor
     * @returns {Editor}
     * @default undefined
     */
    readonly editor: Editor;
    /**
     * Gets the editor history object of the document editor.
     * @aspType EditorHistory
     * @blazorType EditorHistory
     * @returns {EditorHistory}
     */
    readonly editorHistory: EditorHistory;
    /**
     * Gets the search object of the document editor.
     * @aspType Search
     * @blazorType Search
     * @returns { Search }
     */
    readonly search: Search;
    /**
     * Gets the context menu object of the document editor.
     * @aspType ContextMenu
     * @blazorType ContextMenu
     * @returns {ContextMenu}
     */
    readonly contextMenu: ContextMenu;
    /**
     * Gets the spell check dialog object of the document editor.
     * @returns SpellCheckDialog
     */
    readonly spellCheckDialog: SpellCheckDialog;
    /**
     * Gets the spell check object of the document editor.
     * @aspType SpellChecker
     * @blazorType SpellChecker
     * @returns SpellChecker
     */
    readonly spellChecker: SpellChecker;
    /**
     * @private
     */
    readonly containerId: string;
    /**
     * @private
     */
    isDocumentLoaded: boolean;
    /**
     * Determines whether history needs to be enabled or not.
     * @default - false
     * @private
     */
    readonly enableHistoryMode: boolean;
    /**
     * Gets the start text position in the document.
     * @default undefined
     * @private
     */
    readonly documentStart: TextPosition;
    /**
     * Gets the end text position in the document.
     * @default undefined
     * @private
     */
    readonly documentEnd: TextPosition;
    /**
     * @private
     */
    readonly isReadOnlyMode: boolean;
    /**
     * Specifies to enable image resizer option
     * default - false
     * @private
     */
    readonly enableImageResizerMode: boolean;
    /**
     * Initialize the constructor of DocumentEditor
     */
    constructor(options?: DocumentEditorModel, element?: string | HTMLElement);
    protected preRender(): void;
    protected render(): void;
    /**
     * Get component name
     * @private
     */
    getModuleName(): string;
    /**
     * Called internally if any of the property value changed.
     * @private
     */
    onPropertyChanged(model: DocumentEditorModel, oldProp: DocumentEditorModel): void;
    private localizeDialogs;
    /**
     * Set the default character format for document editor
     * @param characterFormat
     */
    setDefaultCharacterFormat(characterFormat: CharacterFormatProperties): void;
    /**
     * Set the default paragraph format for document editor
     * @param paragraphFormat
     */
    setDefaultParagraphFormat(paragraphFormat: ParagraphFormatProperties): void;
    /**
     * Get the properties to be maintained in the persisted state.
     * @private
     */
    getPersistData(): string;
    private clearPreservedCollectionsInViewer;
    /**
     * @private
     */
    getDocumentEditorElement(): HTMLElement;
    /**
     * @private
     */
    fireContentChange(): void;
    /**
     * @private
     */
    fireDocumentChange(): void;
    /**
     * @private
     */
    fireSelectionChange(): void;
    /**
     * @private
     */
    fireZoomFactorChange(): void;
    /**
     * @private
     */
    fireViewChange(): void;
    /**
     * @private
     */
    fireCustomContextMenuSelect(item: string): void;
    /**
     * @private
     */
    fireCustomContextMenuBeforeOpen(item: string[]): void;
    /**
     * Shows the Paragraph dialog
     * @private
     */
    showParagraphDialog(paragraphFormat?: WParagraphFormat): void;
    /**
     * Shows the margin dialog
     * @private
     */
    showPageSetupDialog(): void;
    /**
     * Shows the font dialog
     * @private
     */
    showFontDialog(characterFormat?: WCharacterFormat): void;
    /**
     * Shows the cell option dialog
     * @private
     */
    showCellOptionsDialog(): void;
    /**
     * Shows the table options dialog.
     * @private
     */
    showTableOptionsDialog(): void;
    /**
     * Shows insert table dialog
     * @private
     */
    showTableDialog(): void;
    /**
     * Shows the table of content dialog
     * @private
     */
    showTableOfContentsDialog(): void;
    /**
     * Shows the style dialog
     * @private
     */
    showStyleDialog(): void;
    /**
     * Shows the hyperlink dialog
     * @private
     */
    showHyperlinkDialog(): void;
    /**
     * Shows the bookmark dialog.
     * @private
     */
    showBookmarkDialog(): void;
    /**
     * Shows the styles dialog.
     * @private
     */
    showStylesDialog(): void;
    /**
     * Shows the List dialog
     * @private
     */
    showListDialog(): void;
    /**
     * Shows the table properties dialog
     * @private
     */
    showTablePropertiesDialog(): void;
    /**
     * Shows the borders and shading dialog
     * @private
     */
    showBordersAndShadingDialog(): void;
    protected requiredModules(): base.ModuleDeclaration[];
    /**
     * @private
     */
    defaultLocale: Object;
    /**
     * Opens the given Sfdt text.
     * @param {string} sfdtText.
     */
    open(sfdtText: string): void;
    /**
     * Scrolls view to start of the given page number if exists.
     * @param  {number} pageNumber.
     * @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 width
     * @param height
     */
    resize(width?: number, height?: number): void;
    /**
     * Shifts the focus to the document.
     */
    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;
    /**
     * Prints the document.
     * @param  {Window} printWindow? - Default value of 'printWindow' parameter is undefined.
     */
    print(printWindow?: Window): void;
    /**
     * Serialize the data to JSON string.
     */
    serialize(): string;
    /**
     * Saves the document.
     * @param {string} fileName
     * @param {FormatType} formatType
     */
    save(fileName: string, formatType?: FormatType): void;
    /**
     * Saves the document as blob.
     * @param {FormatType} formatType
     */
    saveAsBlob(formatType?: FormatType): Promise<Blob>;
    /**
     * Opens a blank document.
     */
    openBlank(): void;
    /**
     * Gets the style names based on given style type.
     * @param styleType
     */
    getStyleNames(styleType?: StyleType): string[];
    /**
     * Gets the style objects on given style type.
     * @param styleType
     */
    getStyles(styleType?: StyleType): Object[];
    /**
     * Gets the bookmarks.
     */
    getBookmarks(): string[];
    /**
     * Shows the dialog.
     * @param {DialogType} dialogType
     * @returns void
     */
    showDialog(dialogType: DialogType): void;
    /**
     * Shows the options pane.
     */
    showOptionsPane(): void;
    /**
     * Destroys all managed resources used by this object.
     */
    destroy(): void;
    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;
}
/**
 * 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/context-menu.d.ts
/**
 * Context navigations.ContextMenu class
 */
export  class ContextMenu {
    private viewer;
    /**
     * @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;
    /**
     * @private
     */
    constructor(viewer: LayoutViewer);
    /**
     * Gets the spell checker
     * @private
     */
    readonly spellChecker: SpellChecker;
    /**
     * Gets module name.
     */
    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
     */
    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  {PointerEvent} event
     * @private
     */
    onContextMenuInternal: (event: PointerEvent) => void;
    /**
     * Method to hide spell context items
     */
    hideSpellContextItems(): void;
    /**
     * Method to process suggestions to add in context menu
     * @param {any} allSuggestions
     * @param {string[]} splittedSuggestion
     * @param {PointerEvent} event
     * @private
     */
    processSuggestions(allSuggestions: any, splittedSuggestion: string[], event: PointerEvent): 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
     */
    owner: LayoutViewer;
    private target;
    private listviewInstance;
    private textBoxInput;
    private addButton;
    private deleteButton;
    private gotoButton;
    /**
     * @private
     */
    constructor(viewer: LayoutViewer);
    /**
     * @private
     */
    getModuleName(): string;
    /**
     * @private
     */
    initBookmarkDialog(localValue: base.L10n, bookmarks: string[], isRtl?: boolean): void;
    /**
     * @private
     */
    show(): void;
    /**
     * @private
     */
    onKeyUpOnTextBox: (event: KeyboardEvent) => void;
    private enableOrDisableButton;
    private addBookmark;
    private selectHandler;
    private focusTextBox;
    private removeObjects;
    private gotoBookmark;
    private deleteBookmark;
    /**
     * @private
     */
    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 {
    private owner;
    private dialog;
    private target;
    private tableFormatIn;
    private cellFormatIn;
    private applyTo;
    private cellFormat;
    private tableFormat;
    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;
    /**
     * @private
     */
    constructor(viewer: LayoutViewer);
    private getModuleName;
    /**
     * @private
     */
    initBordersAndShadingsDialog(localeValue: base.L10n, isRtl?: boolean): void;
    private applyBordersShadingsProperties;
    private applyFormat;
    private getBorder;
    private checkClassName;
    /**
     * @private
     */
    closeDialog: () => void;
    private closeBordersShadingsDialog;
    /**
     * @private
     */
    show(): void;
    private handleSettingCheckBoxAction;
    private updateClassForSettingDivElements;
    private setSettingPreviewDivElement;
    private isShowHidePreviewTableElements;
    private handlePreviewCheckBoxAction;
    private handlePreviewCheckBoxShowHide;
    private showHidePreviewDivElements;
    private setPropertyPreviewDivElement;
    private applyTableCellPreviewBoxes;
    private applyPreviewTableBackgroundColor;
    private applyPreviewTableBorderColor;
    private loadBordersShadingsPropertiesDialog;
    private cloneBorders;
    private getLineStyle;
    /**
     * @private
     */
    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 {
    private owner;
    private target;
    private isBullet;
    private symbol;
    private fontFamily;
    private numberFormat;
    private listLevelPattern;
    private listFormat;
    private abstractList;
    private tabObj;
    /**
     * @private
     */
    constructor(layoutViewer: LayoutViewer);
    /**
     * @private
     */
    getModuleName(): string;
    /**
     * @private
     */
    initNumberingBulletDialog(locale: base.L10n): void;
    private createNumberList;
    private createNumberListTag;
    private createNumberNoneListTag;
    private createBulletListTag;
    private createBulletList;
    /**
     * @private
     */
    showNumberBulletDialog(listFormat: WListFormat, abstractList: WAbstractList): void;
    /**
     * @private
     */
    numberListClick: (args: any) => void;
    private setActiveElement;
    /**
     * @private
     */
    bulletListClick: (args: any) => void;
    /**
     * @private
     */
    loadNumberingBulletDialog: () => void;
    /**
     * @private
     */
    closeNumberingBulletDialog: () => void;
    /**
     * @private
     */
    onCancelButtonClick: () => void;
    /**
     * @private
     */
    onOkButtonClick: () => void;
    /**
     * @private
     */
    unWireEventsAndBindings(): void;
    /**
     * @private
     */
    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
     */
    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;
    /**
     * @private
     */
    constructor(viewer: LayoutViewer);
    /**
     * @private
     */
    readonly cellFormat: WCellFormat;
    /**
     * @private
     */
    getModuleName(): string;
    /**
     * @private
     */
    initCellMarginsDialog(localValue: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     */
    show(): void;
    /**
     * @private
     */
    removeEvents: () => void;
    /**
     * @private
     */
    changeSameAsTable: () => void;
    /**
     * @private
     */
    loadCellMarginsDialog(): void;
    private loadCellProperties;
    /**
     * @private
     */
    applyTableCellProperties: () => void;
    /**
     * @private
     */
    applySubCellOptions(cellFormat: WCellFormat): void;
    /**
     * @private
     */
    applyCellmarginsValue(row: TableRowWidget, start: TextPosition, end: TextPosition, cellFormat: WCellFormat): void;
    private applyCellMarginsInternal;
    /**
     * @private
     */
    applyCellMarginsForCells(row: TableRowWidget, cellFormat: WCellFormat): void;
    /**
     * @private
     */
    iterateCells(cells: TableCellWidget[], cellFormat: WCellFormat): void;
    /**
     * @private
     */
    applySubCellMargins(sourceFormat: WCellFormat, cellFormat: WCellFormat): void;
    /**
     * @private
     */
    applyTableOptions(cellFormat: WCellFormat): void;
    /**
     * @private
     */
    closeCellMarginsDialog: () => void;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    static getCellMarginDialogElements(dialog: CellOptionsDialog | TableOptionsDialog, div: HTMLDivElement, locale: base.L10n): 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;
    private owner;
    private target;
    private fontNameList;
    private fontStyleText;
    private fontSizeText;
    private colorPicker;
    private fontColorDiv;
    private underlineDrop;
    private strikethroughBox;
    private doublestrikethrough;
    private superscript;
    private subscript;
    private bold;
    private italic;
    private underline;
    private strikethrough;
    private baselineAlignment;
    private fontSize;
    private fontFamily;
    private fontColor;
    /**
     * @private
     */
    characterFormat: WCharacterFormat;
    /**
     * @private
     */
    /**
    * @private
    */
    fontStyle: string;
    /**
     * @private
     */
    constructor(layoutViewer: LayoutViewer);
    /**
     * @private
     */
    getModuleName(): string;
    private createInputElement;
    /**
     * @private
     */
    initFontDialog(locale: base.L10n, isRtl?: boolean): void;
    private getFontSizeDiv;
    private getFontDiv;
    /**
     * @private
     */
    showFontDialog(characterFormat?: WCharacterFormat): void;
    /**
     * @private
     */
    loadFontDialog: () => void;
    /**
     * @private
     */
    closeFontDialog: () => void;
    /**
     * @private
     */
    onCancelButtonClick: () => void;
    /**
     * @private
     */
    onInsertFontFormat: () => void;
    /**
     * Applies character format
     * @param  {Selection} selection
     * @param  {WCharacterFormat} format
     * @private
     */
    onCharacterFormat(selection: Selection, format: WCharacterFormat): void;
    /**
     * @private
     */
    enableCheckBoxProperty(args: any): void;
    private fontSizeUpdate;
    private fontStyleUpdate;
    private fontFamilyUpdate;
    private underlineUpdate;
    private fontColorUpdate;
    private singleStrikeUpdate;
    private doubleStrikeUpdate;
    private superscriptUpdate;
    private subscriptUpdate;
    /**
     * @private
     */
    unWireEventsAndBindings(): void;
    /**
     * @private
     */
    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 addressText;
    private urlTextBox;
    private insertButton;
    private bookmarkDropdown;
    private bookmarkCheckbox;
    private bookmarkDiv;
    private target;
    /**
     * @private
     */
    owner: LayoutViewer;
    private bookmarks;
    private localObj;
    /**
     * @private
     */
    constructor(viewer: LayoutViewer);
    /**
     * @private
     */
    getModuleName(): string;
    /**
     * @private
     */
    initHyperlinkDialog(localValue: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     */
    show(): void;
    /**
     * @private
     */
    hide(): void;
    /**
     * @private
     */
    onKeyUpOnUrlBox: (event: KeyboardEvent) => void;
    /**
     * @private
     */
    onKeyUpOnDisplayBox: () => void;
    private enableOrDisableInsertButton;
    /**
     * @private
     */
    onInsertButtonClick: () => void;
    /**
     * @private
     */
    onCancelButtonClick: () => void;
    /**
     * @private
     */
    loadHyperlinkDialog: () => void;
    /**
     * @private
     */
    closeHyperlinkDialog: () => void;
    /**
     * @private
     */
    onInsertHyperlink(): void;
    private onUseBookmarkChange;
    private onBookmarkchange;
    /**
     * @private
     */
    clearValue(): void;
    /**
     * @private
     */
    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
     */
    owner: LayoutViewer;
    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
     */
    readonly listLevel: WListLevel;
    /**
     * @private
     */
    readonly list: WList;
    /**
     * @private
     */
    readonly levelNumber: number;
    /**
     * @private
     */
    constructor(viewer: LayoutViewer);
    /**
     * @private
     */
    getModuleName(): string;
    /**
     * @private
     */
    showListDialog(): void;
    /**
     * Shows the table properties dialog
     * @private
     */
    initListDialog(locale: base.L10n, isRtl?: boolean): void;
    private wireAndBindEvent;
    private onTextIndentChanged;
    private onStartValueChanged;
    private onListLevelValueChanged;
    private onNumberFormatChanged;
    private onAlignedAtValueChanged;
    private updateRestartLevelBox;
    private onFollowCharacterValueChanged;
    private onLevelPatternValueChanged;
    private listPatternConverter;
    private followCharacterConverter;
    private loadListDialog;
    private updateDialogValues;
    private showFontDialog;
    private onApplyList;
    private onCancelButtonClick;
    private closeListDialog;
    private disposeBindingForListUI;
    /**
     * @private
     */
    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;
    /**
     * @private
     */
    dialog: ListDialog;
    /**
     * @private
     */
    /**
    * @private
    */
    levelNumber: number;
    /**
     * @private
     */
    /**
    * @private
    */
    list: WList;
    /**
     * @private
     */
    readonly listLevel: WListLevel;
    /**
     * @private
     */
    /**
    * @private
    */
    listLevelPattern: ListLevelPattern;
    /**
     * @private
     */
    /**
    * @private
    */
    followCharacter: FollowCharacterType;
    /**
     * @private
     */
    constructor();
    private createList;
    private addListLevels;
    /**
     * @private
     */
    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
     */
    owner: LayoutViewer;
    /**
     * @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;
    /**
     * @private
     */
    constructor(viewer: LayoutViewer);
    private getModuleName;
    /**
     * @private
     */
    initPageSetupDialog(locale: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     */
    initMarginProperties(element: HTMLDivElement, locale: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     */
    initPaperSizeProperties(element: HTMLDivElement, locale: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     */
    initLayoutProperties(element: HTMLDivElement, locale: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     */
    show(): void;
    /**
     * @private
     */
    loadPageSetupDialog: () => void;
    /**
     * @private
     */
    closePageSetupDialog: () => void;
    /**
     * @private
     */
    onCancelButtonClick: () => void;
    /**
     * @private
     */
    keyUpInsertPageSettings: (event: KeyboardEvent) => void;
    /**
     * @private
     */
    applyPageSetupProperties: () => void;
    /**
     * @private
     */
    changeByPaperSize: (event: dropdowns.ChangeEventArgs) => void;
    /**
     * @private
     */
    onPortrait: (event: buttons.ChangeArgs) => void;
    /**
     * @private
     */
    onLandscape: (event: buttons.ChangeArgs) => void;
    /**
     * @private
     */
    unWireEventsAndBindings: () => void;
    /**
     * @private
     */
    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
     */
    owner: LayoutViewer;
    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 leftIndent;
    private rightIndent;
    private beforeSpacing;
    private afterSpacing;
    private textAlignment;
    private firstLineIndent;
    private lineSpacingIn;
    private lineSpacingType;
    private paragraphFormat;
    private bidi;
    private contextualSpacing;
    isStyleDialog: boolean;
    private directionDiv;
    /**
     * @private
     */
    constructor(viewer: LayoutViewer);
    /**
     * @private
     */
    getModuleName(): string;
    /**
     * @private
     */
    initParagraphDialog(locale: base.L10n): void;
    /**
     * @private
     */
    keyUpParagraphSettings: (event: KeyboardEvent) => void;
    private changeBeforeSpacing;
    private changeAfterSpacing;
    private changeLeftIndent;
    private changeRightIndent;
    private changeLineSpacingValue;
    private changeFirstLineIndent;
    private changeByTextAlignment;
    private changeBidirectional;
    private changeContextualSpacing;
    private changeAlignmentByBidi;
    /**
     * @private
     */
    changeByValue: (event: dropdowns.ChangeEventArgs) => void;
    /**
     * @private
     */
    changeBySpacing: (event: dropdowns.ChangeEventArgs) => void;
    /**
     * @private
     */
    loadParagraphDialog: () => void;
    private getAlignmentValue;
    /**
     * @private
     */
    applyParagraphFormat: () => void;
    /**
     * Applies Paragraph Format
     * @param  {WParagraphFormat} paragraphFormat
     * @private
     */
    onParagraphFormat(paragraphFormat: WParagraphFormat): void;
    /**
     * @private
     */
    closeParagraphDialog: () => void;
    /**
     * @private
     */
    show(paragraphFormat?: WParagraphFormat): void;
    /**
     * @private
     */
    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;
    owner: LayoutViewer;
    private isSpellChecking;
    constructor(viewer: LayoutViewer);
    /**
     * Gets the spell checker
     * @private
     */
    readonly parent: DocumentEditor;
    private getModuleName;
    private selectHandler;
    /**
     * @private
     */
    onCancelButtonClick: () => void;
    /**
     * @private
     */
    onIgnoreClicked: () => void;
    /**
     * Method to remove errors
     */
    private removeErrors;
    /**
     * @private
     */
    onIgnoreAllClicked: () => void;
    /**
     * @private
     */
    addToDictClicked: () => void;
    /**
     * @private
     */
    changeButtonClicked: () => void;
    /**
     * @private
     */
    changeAllButtonClicked: () => void;
    /**
     * @private
     */
    show(error?: string, elementbox?: ElementBox, callSpellChecker?: boolean): void;
    /**
     * @private
     */
    updateSuggestionDialog(error: string, elementBox: ElementBox, callSpellChecker?: boolean): void;
    /**
     * Method to handle retrieved suggestions from server side
     * @param {string} error
     * @param {any} jsonObject
     */
    private handleRetrievedSuggestion;
    /**
     * @private
     */
    initSpellCheckDialog(localValue: base.L10n, error?: string, suggestion?: string[]): void;
    /**
     * @private
     */
    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 {
    private owner;
    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
     */
    constructor(viewer: LayoutViewer);
    /**
     * @private
     */
    getModuleName(): string;
    /**
     * @private
     */
    initStyleDialog(localValue: base.L10n, isRtl?: boolean): void;
    private createFormatDropdown;
    private openDialog;
    private createFontOptions;
    private setBoldProperty;
    private setItalicProperty;
    private setUnderlineProperty;
    private fontButtonClicked;
    private fontSizeUpdate;
    private fontFamilyChanged;
    private fontColorUpdate;
    private createParagraphOptions;
    private setLeftAlignment;
    private setRightAlignment;
    private setCenterAlignment;
    private setJustifyAlignment;
    private createButtonElement;
    private increaseBeforeAfterSpacing;
    private decreaseBeforeAfterSpacing;
    private toggleDisable;
    /**
     * @private
     */
    updateNextStyle: (args: FocusEvent) => void;
    /**
     * @private
     */
    updateOkButton: () => void;
    /**
     * @private
     */
    styleTypeChange: (args: any) => void;
    private styleBasedOnChange;
    /**
     * @private
     */
    styleParagraphChange: (args: any) => void;
    /**
     * @private
     */
    showFontDialog: () => void;
    /**
     * @private
     */
    showParagraphDialog: () => void;
    /**
     * @private
     */
    showNumberingBulletDialog: () => void;
    /**
     * @private
     */
    show(styleName?: string, header?: string): void;
    /**
     * @private
     */
    onOkButtonClick: () => void;
    private updateList;
    private createLinkStyle;
    private loadStyleDialog;
    /**
     * @private
     */
    updateCharacterFormat(characterFormat?: WCharacterFormat): void;
    /**
     * @private
     */
    updateParagraphFormat(paragraphFOrmat?: WParagraphFormat): void;
    private enableOrDisableOkButton;
    private getTypeValue;
    private updateStyleNames;
    private getStyle;
    /**
     * @private
     */
    onCancelButtonClick: () => void;
    /**
     * @private
     */
    closeStyleDialog: () => void;
    /**
     * @private
     */
    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
     */
    owner: LayoutViewer;
    private target;
    private listviewInstance;
    private styleName;
    private localValue;
    /**
     * @private
     */
    constructor(viewer: LayoutViewer);
    /**
     * @private
     */
    getModuleName(): string;
    /**
     * @private
     */
    initStylesDialog(localValue: base.L10n, styles: string[], isRtl?: boolean): void;
    /**
     * @private
     */
    show(): void;
    private updateStyleNames;
    private defaultStyleName;
    private modifyStyles;
    private selectHandler;
    private hideObjects;
    private addNewStyles;
    /**
     * @private
     */
    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
     */
    owner: LayoutViewer;
    private columnValueTexBox;
    private rowValueTextBox;
    /**
     * @private
     */
    constructor(viewer: LayoutViewer);
    private getModuleName;
    /**
     * @private
     */
    initTableDialog(localValue: base.L10n): void;
    /**
     * @private
     */
    show(): void;
    /**
     * @private
     */
    keyUpInsertTable: (event: KeyboardEvent) => void;
    /**
     * @private
     */
    onCancelButtonClick: () => void;
    /**
     * @private
     */
    onInsertTableClick: () => void;
    /**
     * @private
     */
    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
     */
    owner: LayoutViewer;
    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;
    /**
     * @private
     */
    constructor(viewer: LayoutViewer);
    private getModuleName;
    /**
     * @private
     */
    initTableOfContentDialog(locale: base.L10n, isRtl?: boolean): void;
    private styleLocaleValue;
    /**
     * @private
     */
    show(): void;
    /**
     * @private
     */
    loadTableofContentDialog: () => void;
    /**
     * @private
     */
    closeTableOfContentDialog: () => void;
    /**
     * @private
     */
    onCancelButtonClick: () => void;
    private selectHandler;
    private showStyleDialog;
    private changeShowLevelValue;
    private changeByValue;
    private reset;
    private changeStyle;
    private checkLevel;
    private getElementValue;
    private changeHeadingStyle;
    /**
     * @private
     */
    changePageNumberValue: (args: any) => void;
    /**
     * @private
     */
    changeRightAlignValue: (args: any) => void;
    /**
     * @private
     */
    changeStyleValue: (args: any) => void;
    private getHeadingLevel;
    private applyLevelSetting;
    /**
     * @private
     */
    applyTableOfContentProperties: () => void;
    /**
     * @private
     */
    unWireEventsAndBindings: () => void;
    /**
     * @private
     */
    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
     */
    owner: LayoutViewer;
    /**
     * @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;
    /**
     * @private
     */
    constructor(viewer: LayoutViewer);
    /**
     * @private
     */
    readonly tableFormat: WTableFormat;
    /**
     * @private
     */
    getModuleName(): string;
    /**
     * @private
     */
    initTableOptionsDialog(localValue: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     */
    loadCellMarginsDialog(): void;
    /**
     * @private
     */
    applyTableCellProperties: () => void;
    /**
     * @private
     */
    applySubTableOptions(tableFormat: WTableFormat): void;
    /**
     * @private
     */
    applyTableOptionsHelper(tableFormat: WTableFormat): void;
    /**
     * @private
     */
    applyTableOptionsHistory(tableFormat: WTableFormat): void;
    /**
     * @private
     */
    applySubTableOptionsHelper(tableFormat: WTableFormat): void;
    /**
     * @private
     */
    applyTableOptions(tableFormat: WTableFormat): void;
    /**
     * @private
     */
    closeCellMarginsDialog: () => void;
    /**
     * @private
     */
    show(): void;
    /**
     * @private
     */
    changeAllowSpaceCheckBox: () => void;
    /**
     * @private
     */
    removeEvents: () => void;
    /**
     * @private
     */
    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;
    private owner;
    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
     */
    isCellOptionsUpdated: Boolean;
    /**
     * @private
     */
    isTableOptionsUpdated: Boolean;
    /**
     * @private
     */
    /**
    * @private
    */
    cellFormat: WCellFormat;
    /**
     * @private
     */
    /**
    * @private
    */
    tableFormat: WTableFormat;
    /**
     * @private
     */
    readonly rowFormat: WRowFormat;
    /**
     * @private
     */
    constructor(viewer: LayoutViewer);
    private getModuleName;
    /**
     * @private
     */
    initTablePropertyDialog(localValue: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     */
    show(): void;
    private onBeforeOpen;
    /**
     * @private
     */
    onCloseTablePropertyDialog: () => void;
    /**
     * @private
     */
    applyTableProperties: () => void;
    /**
     * @private
     */
    calculateGridValue(table: TableWidget): void;
    /**
     * @private
     */
    applyTableSubProperties: () => void;
    /**
     * @private
     */
    loadTableProperties(): void;
    /**
     * @private
     */
    unWireEvent: () => void;
    /**
     * @private
     */
    wireEvent(): void;
    /**
     * @private
     */
    closeTablePropertiesDialog: () => void;
    /**
     * @private
     */
    initTableProperties(element: HTMLDivElement, localValue: base.L10n, isRtl?: boolean): void;
    private changeBidirectional;
    /**
     * @private
     */
    onTableWidthChange(): void;
    /**
     * @private
     */
    onTableWidthTypeChange(): void;
    /**
     * @private
     */
    onLeftIndentChange(): void;
    private setTableProperties;
    private activeTableAlignment;
    /**
     * @private
     */
    changeTableCheckBox: () => void;
    /**
     * @private
     */
    changeTableAlignment: (event: Event) => void;
    /**
     * @private
     */
    getTableAlignment(): string;
    /**
     * @private
     */
    updateClassForAlignmentProperties(element: HTMLElement): void;
    /**
     * @private
     */
    initTableRowProperties(element: HTMLDivElement, localValue: base.L10n, isRtl?: boolean): void;
    private setTableRowProperties;
    /**
     * @private
     */
    onRowHeightChange(): void;
    /**
     * @private
     */
    onRowHeightTypeChange(): void;
    /**
     * @private
     */
    changeTableRowCheckBox: () => void;
    /**
     * @private
     */
    onAllowBreakAcrossPage(): void;
    /**
     * @private
     */
    onRepeatHeader(): void;
    /**
     * @private
     */
    /**
     * @private
     */
    initTableCellProperties(element: HTMLDivElement, localValue: base.L10n, isRtl?: boolean): void;
    private setTableCellProperties;
    /**
     * @private
     */
    updateClassForCellAlignment(element: HTMLElement): void;
    /**
     * @private
     */
    formatNumericTextBox(textBox: inputs.NumericTextBox, format: WidthType, value: number): void;
    /**
     * @private
     */
    getCellAlignment(): string;
    /**
     * @private
     */
    changeTableCellCheckBox: () => void;
    /**
     * @private
     */
    onCellWidthChange(): void;
    /**
     * @private
     */
    onCellWidthTypeChange(): void;
    /**
     * @private
     */
    changeCellAlignment: (event: Event) => void;
    /**
     * @private
     */
    showTableOptionsDialog: () => void;
    /**
     * @private
     */
    showBordersShadingsPropertiesDialog: () => void;
    /**
     * @private
     */
    showCellOptionsDialog: () => void;
    /**
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/editor-history/base-history-info.d.ts
/**
 * @private
 */
export  class BaseHistoryInfo {
    private ownerIn;
    private actionIn;
    private removedNodesIn;
    private modifiedPropertiesIn;
    private modifiedNodeLength;
    private selectionStartIn;
    private selectionEndIn;
    private insertPositionIn;
    private endPositionIn;
    private currentPropertyIndex;
    private ignoredWord;
    private viewer;
    /**
     * gets the owner control
     * @private
     */
    readonly owner: DocumentEditor;
    /**
     * gets or sets action
     * @private
     */
    readonly editorHistory: EditorHistory;
    /**
     * gets or sets action
     * @private
     */
    action: Action;
    /**
     * gets modified properties
     * @returns Object
     * @private
     */
    readonly modifiedProperties: Object[];
    /**
     * @private
     */
    readonly removedNodes: IWidget[];
    /**
     * Gets or Sets the selection start
     * @private
     */
    selectionStart: string;
    /**
     * Gets or Sets the selection end
     * @private
     */
    selectionEnd: string;
    /**
     * Gets or sets the insert position
     * @private
     */
    insertPosition: string;
    /**
     * Gets or sets end position
     * @private
     */
    endPosition: string;
    constructor(node: DocumentEditor);
    /**
     * Update the selection
     * @param selection
     * @private
     */
    updateSelection(): void;
    setBookmarkInfo(bookmark: BookmarkElementBox): void;
    setEditRangeInfo(editStart: EditRangeStartElementBox): void;
    private revertBookmark;
    private revertEditRangeRegion;
    /**
     * Reverts this instance
     * @private
     */
    revert(): void;
    private highlightListText;
    private removeContent;
    private revertModifiedProperties;
    private redoAction;
    /**
     * Revert the modified nodes
     * @param  {WNode[]} deletedNodes
     * @param  {boolean} isRedoAction
     * @param  {string} start
     * @param  {boolean} isEmptySelection
     */
    private revertModifiedNodes;
    private insertRemovedNodes;
    private revertResizing;
    private revertTableDialogProperties;
    getTextPosition(hierarchicalIndex: string): TextPosition;
    /**
     * Add modified properties for section format
     * @param  {WSectionFormat} format
     * @param  {string} property
     * @param  {Object} value
     * @private
     */
    addModifiedPropertiesForSection(format: WSectionFormat, property: string, value: Object): Object;
    /**
     * Add the modified properties for character format
     * @param  {WCharacterFormat} format
     * @param  {string} property
     * @param  {Object} value
     * @private
     */
    addModifiedProperties(format: WCharacterFormat, property: string, value: Object): Object;
    /**
     * Add the modified properties for paragraph format
     * @param  {WParagraphFormat} format
     * @param  {string} property
     * @param  {Object} value
     * @private
     */
    addModifiedPropertiesForParagraphFormat(format: WParagraphFormat, property: string, value: Object): Object;
    /**
     * @private
     */
    addModifiedPropertiesForContinueNumbering(paragraphFormat: WParagraphFormat, value: Object): Object;
    /**
     * @param listFormat
     * @param value
     * @private
     */
    addModifiedPropertiesForRestartNumbering(listFormat: WListFormat, value: Object): Object;
    /**
     * Add modified properties for list format
     * @param  {WListLevel} listLevel
     * @private
     */
    addModifiedPropertiesForList(listLevel: WListLevel): Object;
    /**
     * Revert the properties
     * @param  {SelectionRange} selectionRange
     */
    private revertProperties;
    /**
     * Add modified properties for cell options dialog
     * @param  {WCellFormat} format
     * @param  {WTable} table
     * @private
     */
    addModifiedCellOptions(applyFormat: WCellFormat, format: WCellFormat, table: TableWidget): WCellFormat;
    private copyCellOptions;
    /**
     * Add modified properties for cell options dialog
     * @param  {WTableFormat} format
     * @private
     */
    addModifiedTableOptions(format: WTableFormat): void;
    private copyTableOptions;
    private getProperty;
    private getCharacterPropertyValue;
    /**
     * Add modified properties for table format
     * @param  {WTableFormat} format
     * @param  {string} property
     * @param  {Object} value
     * @private
     */
    addModifiedTableProperties(format: WTableFormat, property: string, value: Object): Object;
    /**
     * Add modified properties for row format
     * @param  {WRowFormat} rowFormat
     * @param  {string} property
     * @param  {Object} value
     * @private
     */
    addModifiedRowProperties(rowFormat: WRowFormat, property: string, value: Object): Object;
    /**
     * Add modified properties for cell format
     * @param  {WCellFormat} cellFormat
     * @param  {string} property
     * @param  {Object} value
     * @private
     */
    addModifiedCellProperties(cellFormat: WCellFormat, property: string, value: Object): Object;
    /**
     * @private
     */
    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
     */
    currentHistoryInfo: HistoryInfo;
    /**
     * @private
     */
    modifiedParaFormats: Dictionary<BaseHistoryInfo, ModifiedParagraphFormat[]>;
    private viewer;
    /**
     * gets undo stack
     * @private
     */
    readonly undoStack: BaseHistoryInfo[];
    /**
     * gets redo stack
     * @private
     */
    readonly redoStack: BaseHistoryInfo[];
    /**
     * Gets or Sets the limit of undo operations can be done.
     * @aspType int
     * @blazorType int
     */
    /**
    * Sets the limit of undo operations can be done.
    * @aspType int
    * @blazorType int
    */
    undoLimit: number;
    /**
     * Gets or Sets the limit of redo operations can be done.
     * @aspType int
     * @blazorType int
     */
    /**
    * Gets or Sets the limit of redo operations can be done.
    * @aspType int
    * @blazorType int
    */
    redoLimit: number;
    /**
     * @private
     */
    constructor(node: DocumentEditor);
    /**
     * @private
     */
    getModuleName(): string;
    /**
     * Determines whether undo operation can be done.
     * @returns boolean
     */
    canUndo(): boolean;
    /**
     * Determines whether redo operation can be done.
     * @returns boolean
     */
    canRedo(): boolean;
    /**
     * initialize EditorHistory
     * @param  {Selection} selection
     * @param  {Action} action
     * @param  {SelectionRange} selectionRange
     * @private
     */
    initializeHistory(action: Action): void;
    /**
     * Initialize complex history
     * @param  {Selection} selection
     * @param  {Action} action
     * @private
     */
    initComplexHistory(selection: Selection, action: Action): void;
    /**
     * @private
     */
    initResizingHistory(startingPoint: Point, tableResize: TableResizer): void;
    /**
     * Update resizing history
     * @param  {Point} point
     * @param  {Selection} selection
     * @private
     */
    updateResizingHistory(point: Point, tableResize: TableResizer): void;
    /**
     * Record the changes
     * @param  {BaseHistoryInfo} baseHistoryInfo
     * @private
     */
    recordChanges(baseHistoryInfo: BaseHistoryInfo): void;
    /**
     * update EditorHistory
     * @private
     */
    updateHistory(): void;
    /**
     * @private
     */
    isHandledComplexHistory(): boolean;
    /**
     * Update complex history
     * @private
     */
    updateComplexHistory(): void;
    /**
     * @private
     */
    updateComplexHistoryInternal(): void;
    /**
     * update list changes for history preservation
     * @param  {Selection} selection
     * @param  {WAbstractList} currentAbstractList
     * @param  {WList} list
     * @private
     */
    updateListChangesInHistory(currentAbstractList: WAbstractList, list: WList): Dictionary<number, ModifiedLevel>;
    /**
     * Apply list changes
     * @param  {Selection} selection
     * @param  {Dictionary<number, ModifiedLevel>} modifiedLevelsInternal
     * @private
     */
    applyListChanges(selection: Selection, modifiedLevelsInternal: Dictionary<number, ModifiedLevel>): void;
    /**
     * Update list changes
     * @param  {Dictionary<number, ModifiedLevel>} modifiedCollection
     * @param  {Selection} selection
     * @private
     */
    updateListChanges(modifiedCollection: Dictionary<number, ModifiedLevel>): void;
    /**
     * Revert list changes
     * @param  {Selection} selection
     */
    private revertListChanges;
    /**
     * Reverts the last editing action.
     */
    undo(): void;
    /**
     * Performs the last reverted action.
     */
    redo(): void;
    /**
     * @private
     */
    destroy(): void;
    private clearHistory;
    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;
    /**
     * @private
     */
    /**
    * @private
    */
    ownerListLevel: WListLevel;
    /**
     * @private
     */
    /**
    * @private
    */
    modifiedListLevel: WListLevel;
    constructor(owner: WListLevel, modified: WListLevel);
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ModifiedParagraphFormat {
    private ownerFormatIn;
    private modifiedFormatIn;
    /**
     * @private
     */
    /**
    * @private
    */
    ownerFormat: WParagraphFormat;
    /**
     * hidden
     */
    /**
    * @private
    */
    modifiedFormat: WParagraphFormat;
    constructor(ownerFormat: WParagraphFormat, modifiedFormat: WParagraphFormat);
    /**
     * @private
     */
    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;
    constructor();
}
/**
 * @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;
    constructor();
}
/**
 * @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 {
    /**
     * @private
     */
    modifiedActions: BaseHistoryInfo[];
    private isChildHistoryInfo;
    editRangeStart: EditRangeStartElementBox;
    /**
     * @private
     */
    readonly hasAction: boolean;
    constructor(node: DocumentEditor, isChild: boolean);
    /**
     * Adds the modified actions
     * @param  {BaseHistoryInfo} baseHistoryInfo
     * @private
     */
    addModifiedAction(baseHistoryInfo: BaseHistoryInfo): void;
    /**
     * Reverts this instance
     * @private
     */
    revert(): void;
    /**
     * @private
     */
    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/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.
     * @param {string} spanText
     * @param {number} index
     * @param {string} text
     * @private
     */
    static insert(spanText: string, index: number, text: string): string;
    /**
     * Removes text from specified index in string.
     * @param {string} text
     * @param {number} index
     * @param {number} length
     * @private
     */
    static remove(text: string, index: number, length: number): string;
    /**
     * Returns the index of word split character in a string.
     * @param {string} text
     * @param {string[]} wordSplitCharacter
     * @private
     */
    static indexOfAny(text: string, wordSplitCharacter: string[]): any;
    /**
     * Returns the last index of word split character in a string.
     * @param {string} text
     * @param {string[]} wordSplitCharacter
     * @private
     */
    static lastIndexOfAny(text: string, wordSplitCharacter: string[]): number;
    /**
     * Adds css styles to document header.
     * @param {string} css
     * @private
     */
    static addCssStyle(css: string): void;
    /**
     * Gets highlight color code.
     * @param {HighlightColor} highlightColor
     * @private
     */
    static getHighlightColorCode(highlightColor: HighlightColor): string;
    /**
     * Converts point to pixel.
     * @param {number} point
     * @private
     */
    static convertPointToPixel(point: number): number;
    /**
     * Converts pixel to point.
     * @param {number} pixel
     * @private
     */
    static convertPixelToPoint(pixel: number): number;
    /**
     * Return true if field linked
     * @private
     */
    static isLinkedFieldCharacter(inline: ElementBox): boolean;
    /**
     * Removes white space in a string.
     * @param {string} text
     * @private
     */
    static removeSpace(text: string): string;
    /**
     * Trims white space at start of the string.
     * @param {string} text
     * @private
     */
    static trimStart(text: string): string;
    /**
     * Trims white space at end of the string.
     * @param {string} text
     * @private
     */
    static trimEnd(text: string): string;
    /**
     * Checks whether string ends with whitespace.
     * @param {string} text
     * @private
     */
    static endsWith(text: string): boolean;
    /**
     * Return specified number of string count
     * @private
     */
    static addSpace(length: number): string;
    /**
     * @private
     * Write Characterformat
     * @param {any} characterFormat
     * @param {boolean} isInline
     * @param {WCharacterFormat} format
     */
    static writeCharacterFormat(characterFormat: any, isInline: boolean, format: WCharacterFormat): void;
    /**
     * Rounds the values with specified decimal digits.
     * @param {number} value
     * @param {number} decimalDigits
     * @private
     */
    static round(value: number, decimalDigits: number): number;
    static ReverseString(text: string): string;
    /**
     * @private
     */
    static formatClippedString(base64ImageString: string): ImageInfo;
    private static startsWith;
}
/**
 * @private
 */
export  class Point {
    private xIn;
    private yIn;
    /**
     * Gets or sets x value.
     * @private
     */
    x: number;
    /**
     * Gets or sets y value.
     * @private
     */
    y: number;
    constructor(xPosition: number, yPosition: number);
    /**
     * @private
     */
    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;
    /**
     * @private
     */
    decodeString(input: string): Uint8Array;
}
/**
 * @private
 */
export interface SubWidthInfo {
    subWidth: number;
    spaceCount: 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 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 MatchResults {
    matches: RegExpExecArray[];
    elementInfo: Dictionary<TextElementBox, number>;
    textResults: TextSearchResults;
}
/**
 * @private
 */
export interface TextPositionInfo {
    element: ElementBox;
    index: number;
    caretPosition: Point;
    isImageSelected: boolean;
}
/**
 * @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 ImageInfo {
    extension: string;
    formatClippedString: string;
}
/**
 * @private
 */
export interface PositionInfo {
    startPosition: TextPosition;
    endPosition: TextPosition;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/editor/editor.d.ts
/**
 * Editor module
 */
export  class Editor {
    /**
     * @private
     */
    viewer: LayoutViewer;
    private nodes;
    private editHyperlinkInternal;
    private startOffset;
    private startParagraph;
    private endOffset;
    private pasteRequestHandler;
    private endParagraph;
    private removeEditRange;
    /**
     * @private
     */
    isHandledComplex: boolean;
    /**
     * @private
     */
    tableResize: TableResizer;
    /**
     * @private
     */
    tocStyles: TocLevelSettings;
    private refListNumber;
    private incrementListNumber;
    private removedBookmarkElements;
    /**
     * @private
     */
    tocBookmarkId: number;
    /**
     * @private
     */
    copiedData: string;
    private animationTimer;
    private pageRefFields;
    /**
     * @private
     */
    isInsertingTOC: boolean;
    private editStartRangeCollection;
    /**
     * @private
     */
    readonly restrictFormatting: boolean;
    /**
     * @private
     */
    readonly restrictEditing: boolean;
    copiedContent: any;
    private copiedTextContent;
    private currentPasteOptions;
    private pasteTextPosition;
    isSkipHistory: boolean;
    isPaste: boolean;
    /**
     * Initialize the editor module
     * @param  {LayoutViewer} viewer
     * @private
     */
    constructor(viewer: LayoutViewer);
    private readonly editorHistory;
    /**
     * @private
     */
    isBordersAndShadingDialog: boolean;
    private readonly selection;
    private readonly owner;
    private getModuleName;
    /**
     * Inserts the specified field at cursor position
     * @param code
     * @param result
     */
    insertField(code: string, result?: string): void;
    /**
     * To update style for paragraph
     * @param style - style name
     * @param 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.
     */
    applyStyle(style: string, clearDirectFormatting?: boolean): void;
    /**
     * Moves the selected content in the document editor control to clipboard.
     */
    cut(): void;
    /**
     * Notify content change event
     * @private
     */
    fireContentChange(): void;
    /**
     * Update physical location for text position
     * @private
     */
    updateSelectionTextPosition(isSelectionChanged: boolean): void;
    /**
     * @private
     */
    onTextInputInternal: (event: KeyboardEvent) => void;
    /**
     * Predict text
     * @private
     */
    predictText(): void;
    /**
     * Gets prefix and suffix.
     * @private
     */
    getPrefixAndSuffix(): void;
    /**
     * Fired on paste.
     * @param {ClipboardEvent} event
     * @private
     */
    onPaste: (event: ClipboardEvent) => void;
    /**
     * key action
     * @private
     */
    onKeyDownInternal(event: KeyboardEvent, ctrl: boolean, shift: boolean, alt: boolean): void;
    /**
     * @private
     */
    handleShiftEnter(): void;
    /**
     * Handles back key.
     * @private
     */
    handleBackKey(): void;
    /**
     * Handles delete
     * @private
     */
    handleDelete(): void;
    /**
     * Handles enter key.
     * @private
     */
    handleEnterKey(): void;
    /**
     * @private
     */
    handleTextInput(text: string): void;
    /**
     * Copies to format.
     * @param  {WCharacterFormat} format
     * @private
     */
    copyInsertFormat(format: WCharacterFormat, copy: boolean): WCharacterFormat;
    /**
     * Inserts the specified text at cursor position
     * @param  {string} text - text to insert
     */
    insertText(text: string): void;
    /**
     * @private
     */
    insertTextInternal(text: string, isReplace: boolean): void;
    /**
     * @private
     */
    insertIMEText(text: string, isUpdate: boolean): void;
    /**
     * Insert Section break at cursor position
     */
    insertSectionBreak(): void;
    /**
     * @private
     */
    insertSection(selection: Selection, selectFirstBlock: boolean): BlockWidget;
    private splitBodyWidget;
    private insertRemoveHeaderFooter;
    private updateBlockIndex;
    private updateSectionIndex;
    private checkAndConvertList;
    private getListLevelPattern;
    private autoConvertList;
    private checkNumberFormat;
    private checkLeadingZero;
    private getPageFromBlockWidget;
    /**
     * @private
     */
    insertTextInline(element: ElementBox, selection: Selection, text: string, index: number): 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 unLinkFieldCharacter;
    private getCharacterFormat;
    /**
     * Insert Hyperlink
     * @param  {string} address - Hyperlink URL
     * @param  {string} displayText - Display text for the hyperlink
     */
    insertHyperlink(address: string, displayText?: string): void;
    /**
     * @private
     */
    insertHyperlinkInternal(url: string, displayText: string, remove: boolean, isBookmark?: boolean): void;
    private insertHyperlinkInternalInternal;
    private insertHyperlinkByFormat;
    private initInsertInline;
    /**
     * @private
     */
    insertElementInCurrentLine(selection: Selection, inline: ElementBox, isReLayout: boolean): void;
    /**
     * Edit Hyperlink
     * @param  {Selection} selection
     * @param  {string} url
     * @param  {string} displayText
     * @private
     */
    editHyperlink(selection: Selection, url: string, displayText: string, isBookmark?: boolean): boolean;
    private insertClonedFieldResult;
    private getClonedFieldResultWithSel;
    private getClonedFieldResult;
    /**
     * Removes the hyperlink if selection is within hyperlink.
     */
    removeHyperlink(): void;
    /**
     * Paste copied clipboard content on Paste event
     * @param  {ClipboardEvent} event
     * @param  {any} pasteWindow?
     * @private
     */
    pasteInternal(event: ClipboardEvent, pasteWindow?: any): void;
    /**
     * @private
     */
    pasteAjax(content: string, type: string): void;
    private pasteFormattedContent;
    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
     */
    paste(sfdt?: string, defaultPasteOption?: PasteOptions): void;
    private getBlocks;
    private applyMergeFormat;
    private applyFormatInternal;
    applyPasteOptions(options: PasteOptions): void;
    private pasteContents;
    private pasteContentsInternal;
    private pasteContent;
    private pasteCopiedData;
    /**
     * Insert Table on undo
     * @param  {WTable} table
     * @param  {WTable} newTable
     * @param  {boolean} moveRows
     * @private
     */
    insertTableInternal(table: TableWidget, newTable: TableWidget, moveRows: boolean): void;
    /**
     * Insert Table on undo
     * @param  {Selection} selection
     * @param  {WBlock} block
     * @param  {WTable} table
     * @private
     */
    insertBlockTable(selection: Selection, block: BlockWidget, table: TableWidget): void;
    /**
     * On cut handle selected content remove and relayout
     * @param  {Selection} selection
     * @param  {TextPosition} startPosition
     * @param  {TextPosition} endPosition
     * @private
     */
    handleCut(selection: Selection): void;
    private insertInlineInternal;
    private insertElement;
    private insertElementInternal;
    /**
     * Insert Block on undo
     * @param  {Selection} selection
     * @param  {WBlock} block
     * @private
     */
    insertBlock(block: BlockWidget): void;
    /**
     * Insert new Block on specific index
     * @param  {Selection} selection
     * @param  {BlockWidget} block
     * @private
     */
    insertBlockInternal(block: BlockWidget): void;
    /**
     * 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
     */
    insertImage(imageString: string, 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.
     */
    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.
     */
    insertRow(above?: boolean, count?: number): void;
    /**
     * Fits the table based on AutoFitType.
     * @param {AutoFitType} - auto fit type
     */
    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.
     */
    insertColumn(left?: boolean, count?: number): void;
    /**
     * Creates table with specified rows and columns.
     * @private
     */
    createTable(rows: number, columns: number): TableWidget;
    private createRowAndColumn;
    private createColumn;
    private getColumnCountToInsert;
    private getRowCountToInsert;
    private getOwnerCell;
    private getOwnerRow;
    private getOwnerTable;
    /**
     * Merge Selected cells
     * @private
     */
    mergeSelectedCellsInTable(): void;
    private mergeSelectedCells;
    private mergeBorders;
    private updateBlockIndexAfterMerge;
    /**
     * Determines whether merge cell operation can be done.
     */
    canMergeCells(): boolean;
    private canMergeSelectedCellsInTable;
    private checkCellWidth;
    private checkCellWithInSelection;
    private checkPrevOrNextCellIsWithinSel;
    private checkCurrentCell;
    private checkRowSpannedCells;
    /**
     * @private
     */
    insertNewParagraphWidget(newParagraph: ParagraphWidget, insertAfter: boolean): void;
    private insertParagraph;
    private moveInlines;
    /**
     * @private
     */
    moveContent(lineWidget: LineWidget, startOffset: number, endOffset: number, insertIndex: number, paragraph: ParagraphWidget): number;
    /**
     * update complex changes when history is not preserved
     * @param  {number} action?
     * @param  {string} start?
     * @param  {string} end?
     * @private
     */
    updateComplexWithoutHistory(action?: number, start?: string, end?: string): void;
    /**
     * reLayout
     * @param selection
     * @param isSelectionChanged
     * @private
     */
    reLayout(selection: Selection, isSelectionChanged?: boolean): void;
    /**
     * @private
     */
    updateHeaderFooterWidget(): void;
    /**
     * @private
     */
    updateHeaderFooterWidgetToPage(node: HeaderFooterWidget): void;
    /**
     * @private
     */
    updateHeaderFooterWidgetToPageInternal(page: Page, widget: HeaderFooterWidget, isHeader: boolean): void;
    /**
     * @private
     */
    removeFieldInWidget(widget: Widget): void;
    /**
     * @private
     */
    removeFieldInBlock(block: BlockWidget): void;
    /**
     * @private
     */
    removeFieldTable(table: TableWidget): void;
    /**
     * @private
     */
    shiftPageContent(type: HeaderFooterType, sectionFormat: WSectionFormat): void;
    /**
     * @private
     */
    checkAndShiftFromBottom(page: Page, footerWidget: HeaderFooterWidget): void;
    /**
     * Change HighlightColor
     * @param  {HighlightColor} highlightColor
     * Applies character format for selection.
     * @param {string} property
     * @param {Object} value
     * @param {boolean} update
     * @private
     */
    onApplyCharacterFormat(property: string, value: Object, update?: boolean): void;
    /**
     * @private
     */
    applyCharacterFormatForListText(selection: Selection, property: string, values: Object, update: boolean): void;
    private applyListCharacterFormatByValue;
    /**
     * @private
     */
    updateListCharacterFormat(selection: Selection, property: string, value: Object): void;
    private updateListTextSelRange;
    /**
     * @private
     */
    getListLevel(paragraph: ParagraphWidget): WListLevel;
    private updateInsertPosition;
    /**
     * preserve paragraph and offset value for selection
     * @private
     */
    setOffsetValue(selection: Selection): void;
    /**
     * Toggles the highlight color property of selected contents.
     * @param {HighlightColor} highlightColor Default value of ‘underline’ parameter is Yellow.
     */
    toggleHighlightColor(highlightColor?: HighlightColor): void;
    /**
     * Toggles the subscript formatting of selected contents.
     */
    toggleSubscript(): void;
    /**
     * Toggles the superscript formatting of selected contents.
     */
    toggleSuperscript(): void;
    /**
     * Toggles the text alignment property of selected contents.
     * @param {TextAlignment} textAlignment Default value of ‘textAlignment parameter is TextAlignment.Left.
     */
    /**
     * Increases the left indent of selected paragraphs to a factor of 36 points.
     */
    increaseIndent(): void;
    /**
     * Decreases the left indent of selected paragraphs to a factor of 36 points.
     */
    decreaseIndent(): void;
    /**
     * Clears the list format for selected paragraphs.
     */
    clearList(): void;
    /**
     * Applies the bullet list to selected paragraphs.
     * @param {string} bullet Bullet character
     * @param {string} fontFamily Bullet font family
     */
    applyBullet(bullet: string, fontFamily: string): void;
    /**
     * Applies the numbering list to selected paragraphs.
     * @param numberFormat  “%n” representations in ‘numberFormat’ parameter will be replaced by respective list level’s value.
     * `“%1)” will be displayed as “1)” `
     * @param listLevelPattern  Default value of ‘listLevelPattern’ parameter is ListLevelPattern.Arabic
     */
    applyNumbering(numberFormat: string, listLevelPattern?: ListLevelPattern): void;
    /**
     * Toggles the baseline alignment property of selected contents.
     * @param  {Selection} selection
     * @param  {BaselineAlignment} baseAlignment
     */
    toggleBaselineAlignment(baseAlignment: BaselineAlignment): void;
    /**
     * Clears the formatting.
     */
    clearFormatting(): void;
    /**
     * Toggles the specified property. If property is assigned already. Then property will be changed
     * @param  {Selection} selection
     * @param  {number} type
     * @param  {Object} value
     * @private
     */
    updateProperty(type: number, value: Object): void;
    private getCompleteStyles;
    /**
     * Initialize default styles
     * @private
     */
    intializeDefaultStyles(): void;
    /**
     * Creates a new instance of Style.
     */
    createStyle(styleString: string): void;
    /**
     * Create a Style.
     * @private
     */
    createStyleIn(styleString: string): Object;
    /**
     * @private
     */
    getUniqueStyleName(name: string): string;
    private getUniqueName;
    /**
     * Update Character format for selection
     * @private
     */
    updateSelectionCharacterFormatting(property: string, values: Object, update: boolean): void;
    /**
     * Update character format for selection range
     * @param  {SelectionRange} selectionRange
     * @param  {string} property
     * @param  {Object} value
     * @returns void
     * @private
     */
    updateCharacterFormat(property: string, value: Object): void;
    private updateCharacterFormatWithUpdate;
    private applyCharFormatSelectedContent;
    private applyCharFormatForSelectedPara;
    private splittedLastParagraph;
    private getNextParagraphForCharacterFormatting;
    private applyCharFormat;
    /**
     * Toggles the bold property of selected contents.
     */
    toggleBold(): void;
    /**
     * Toggles the bold property of selected contents.
     */
    toggleItalic(): void;
    private getCurrentSelectionValue;
    /**
     * Toggles the underline property of selected contents.
     * @param underline Default value of ‘underline’ parameter is Single.
     */
    toggleUnderline(underline?: Underline): void;
    /**
     * Toggles the strike through property of selected contents.
     * @param {Strikethrough} strikethrough Default value of strikethrough parameter is SingleStrike.
     */
    toggleStrikethrough(strikethrough?: Strikethrough): void;
    private updateFontSize;
    private applyCharFormatInline;
    private formatInline;
    private applyCharFormatCell;
    private applyCharFormatForSelectedCell;
    private applyCharFormatRow;
    private applyCharFormatForTable;
    private applyCharFormatForSelTable;
    private applyCharFormatForTableCell;
    private updateSelectedCellsInTable;
    private getCharacterFormatValueOfCell;
    /**
     * Apply Character format for selection
     * @private
     */
    applyCharFormatValueInternal(selection: Selection, format: WCharacterFormat, property: string, value: Object): void;
    private copyInlineCharacterFormat;
    private applyCharFormatValue;
    /**
     * @private
     */
    onImageFormat(elementBox: ImageElementBox, width: number, height: number): void;
    /**
     * Toggles the text alignment of selected paragraphs.
     * @param  {TextAlignment} textAlignment
     */
    toggleTextAlignment(textAlignment: TextAlignment): void;
    /**
     * Applies paragraph format for the selection ranges.
     * @param {string} property
     * @param {Object} value
     * @param {boolean} update
     * @param {boolean} isSelectionChanged
     * @private
     */
    onApplyParagraphFormat(property: string, value: Object, update: boolean, isSelectionChanged: boolean): void;
    /**
     * Update the list level
     * @param  {boolean} increaseLevel
     * @private
     */
    updateListLevel(increaseLevel: boolean): void;
    /**
     * Applies list
     * @param  {WList} list
     * @param  {number} listLevelNumber
     * @private
     */
    onApplyListInternal(list: WList, listLevelNumber: number): void;
    /**
     * Apply paragraph format to selection range
     * @private
     */
    updateSelectionParagraphFormatting(property: string, value: Object, update: boolean): void;
    private getIndentIncrementValue;
    private getIndentIncrementValueInternal;
    private updateParagraphFormatInternal;
    /**
     * Update paragraph format on undo
     * @param  {SelectionRange} selectionRange
     * @param  {string} property
     * @param  {Object} value
     * @param  {boolean} update
     * @private
     */
    updateParagraphFormat(property: string, value: Object, update: boolean): void;
    private applyParaFormatSelectedContent;
    /**
     * Apply Paragraph format
     * @private
     */
    applyParaFormatProperty(paragraph: ParagraphWidget, property: string, value: Object, update: boolean): void;
    private copyParagraphFormat;
    private onListFormatChange;
    private updateListParagraphFormat;
    /**
     * Copies list level paragraph format
     * @param  {WParagraphFormat} oldFormat
     * @param  {WParagraphFormat} newFormat
     * @private
     */
    copyFromListLevelParagraphFormat(oldFormat: WParagraphFormat, newFormat: WParagraphFormat): void;
    /**
     * @private
     */
    applyContinueNumbering(selection: Selection): void;
    /**
     * @private
     */
    applyContinueNumberingInternal(selection: Selection): void;
    /**
     * @private
     */
    getContinueNumberingInfo(paragraph: ParagraphWidget): ContinueNumberingInfo;
    /**
     * @private
     */
    revertContinueNumbering(selection: Selection, format: WParagraphFormat): void;
    private changeListId;
    private getParagraphFormat;
    private checkNumberArabic;
    /**
     * @private
     */
    applyRestartNumbering(selection: Selection): void;
    /**
     * @private
     */
    restartListAt(selection: Selection): void;
    /**
     * @private
     */
    restartListAtInternal(selection: Selection, listId: number): void;
    private changeRestartNumbering;
    private createListLevels;
    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
     * @param  {Object} value
     * @private
     */
    onApplySectionFormat(property: string, value: Object): void;
    /**
     * Update section format
     * @param  {string} property
     * @param  {Object} value
     * @returns TextPosition
     * @private
     */
    updateSectionFormat(property: string, value: Object): void;
    /**
     * Apply table format property changes
     * @param  {string} property
     * @param  {Object} value
     * @private
     */
    onApplyTableFormat(property: string, value: Object): void;
    private getTableFormatAction;
    /**
     * Apply table row format property changes
     * @param  {string} property
     * @param  {Object} value
     * @private
     */
    onApplyTableRowFormat(property: string, value: Object): void;
    private getRowAction;
    /**
     * Apply table cell property changes
     * @param  {string} property
     * @param  {Object} value
     * @private
     */
    onApplyTableCellFormat(property: string, value: Object): void;
    private getTableCellAction;
    private applyPropertyValueForSection;
    /**
     * @private
     */
    layoutWholeDocument(): void;
    private combineSection;
    private combineSectionChild;
    private updateSelectionTableFormat;
    /**
     * Update Table Format on undo
     * @param  {Selection} selection
     * @param  {SelectionRange} selectionRange
     * @param  {string} property
     * @param  {object} value
     * @private
     */
    updateTableFormat(selection: Selection, property: string, value: object): void;
    /**
     * update cell format on undo
     * @param  {Selection} selection
     * @param  {SelectionRange} selectionRange
     * @param  {string} property
     * @param  {Object} value
     * @private
     */
    updateCellFormat(selection: Selection, property: string, value: Object): void;
    /**
     * update row format on undo
     * @param  {Selection} selection
     * @param  {SelectionRange} selectionRange
     * @param  {string} property
     * @param  {Object} value
     * @private
     */
    updateRowFormat(selection: Selection, property: string, value: Object): void;
    private initHistoryPosition;
    private startSelectionReLayouting;
    private reLayoutSelectionOfTable;
    private reLayoutSelection;
    private reLayoutSelectionOfBlock;
    /**
     * @private
     */
    layoutItemBlock(block: BlockWidget, shiftNextWidget: boolean): void;
    /**
     * @private
     */
    removeSelectedContents(selection: Selection): boolean;
    private removeSelectedContentInternal;
    private removeSelectedContent;
    private deleteSelectedContent;
    /**
     * Merge the selected cells.
     */
    mergeCells(): void;
    /**
     * Deletes the entire table at selection.
     */
    deleteTable(): void;
    /**
     * Deletes the selected column(s).
     */
    deleteColumn(): void;
    /**
     * Deletes the selected row(s).
     */
    deleteRow(): void;
    private removeRow;
    private updateTable;
    private getParagraphForSelection;
    private deletePara;
    private deleteSection;
    private combineSectionInternal;
    /**
     * @private
     */
    checkAndInsertBlock(block: BlockWidget, start: TextPosition, end: TextPosition, editAction: number, previousParagraph: BlockWidget): ParagraphWidget;
    private splitParagraph;
    /**
     * @private
     */
    removeBlock(block: BlockWidget): void;
    private removeField;
    private addRemovedNodes;
    private deleteBlock;
    private deleteTableCell;
    private deleteCellsInTable;
    private deleteCell;
    private deleteContainer;
    private deleteTableBlock;
    private splitTable;
    private updateEditPosition;
    /**
     * @private
     */
    deleteContent(table: TableWidget, selection: Selection, editAction: number): void;
    private setActionInternal;
    private checkClearCells;
    private isEndInAdjacentTable;
    private cloneTableToHistoryInfo;
    private insertParagraphPaste;
    private removeInlines;
    /**
     * @private
     */
    removeContent(lineWidget: LineWidget, startOffset: number, endOffset: number): void;
    /**
     * @private
     */
    removeEmptyLine(paragraph: ParagraphWidget): void;
    /**
     * clone the list level
     * @param  {WListLevel} source
     * @private
     */
    cloneListLevel(source: WListLevel): WListLevel;
    /**
     * Copies the list level
     * @param  {WListLevel} destination
     * @param  {WListLevel} listLevel
     * @private
     */
    copyListLevel(destination: WListLevel, listLevel: WListLevel): void;
    /**
     * Clone level override
     * @param  {WLevelOverride} source
     * @private
     */
    cloneLevelOverride(source: WLevelOverride): WLevelOverride;
    /**
     * Update List Paragraph
     * @private
     */
    updateListParagraphs(): void;
    /**
     * @private
     */
    updateListParagraphsInBlock(block: BlockWidget): void;
    /**
     * Applies list format
     * @param  {WList} list
     * @private
     */
    onApplyList(list: WList): void;
    /**
     * Applies bullets or numbering list
     * @param  {string} format
     * @param  {ListLevelPattern} listLevelPattern
     * @param  {string} fontFamily
     * @private
     */
    applyBulletOrNumbering(format: string, listLevelPattern: ListLevelPattern, fontFamily: string): void;
    private addListLevels;
    /**
     * Insert page break at cursor position
     */
    insertPageBreak(): void;
    /**
     * @private
     */
    onEnter(isInsertPageBreak?: boolean): void;
    private splitParagraphInternal;
    /**
     * @private
     */
    updateNextBlocksIndex(block: BlockWidget, increaseIndex: boolean): void;
    private updateIndex;
    private updateEndPosition;
    /**
     * @private
     */
    onBackSpace(): void;
    /**
     * @private
     */
    insertRemoveBookMarkElements(): boolean;
    /**
     * @private
     */
    deleteSelectedContents(selection: Selection, isBackSpace: boolean): boolean;
    private removeWholeElement;
    /**
     * @private
     */
    singleBackspace(selection: Selection, isRedoing: boolean): void;
    private setPositionForHistory;
    private removeAtOffset;
    /**
     * @private
     */
    onDelete(): void;
    private deleteEditElement;
    /**
     * Remove single character on right of cursor position
     * @param  {Selection} selection
     * @param  {boolean} isRedoing
     * @private
     */
    singleDelete(selection: Selection, isRedoing: boolean): void;
    private singleDeleteInternal;
    private deleteParagraphMark;
    private updateEditPositionOnMerge;
    private checkEndPosition;
    private checkInsertPosition;
    private checkIsNotRedoing;
    private deleteSelectedContentInternal;
    /**
     * Init EditorHistory
     * @private
     */
    initHistory(action: Action): void;
    /**
     * Init Complex EditorHistory
     * @private
     */
    initComplexHistory(action: Action): void;
    /**
     * Insert image
     * @param  {string} base64String
     * @param  {number} width
     * @param  {number} height
     * @private
     */
    insertPicture(base64String: string, width: number, height: number): void;
    private insertPictureInternal;
    private fitImageToPage;
    /**
     * @private
     */
    insertInlineInSelection(selection: Selection, elementBox: ElementBox): void;
    /**
     * @private
     */
    onPortrait(): void;
    /**
     * @private
     */
    onLandscape(): void;
    private copyValues;
    /**
     * @private
     */
    changeMarginValue(property: string): void;
    /**
     * @private
     */
    onPaperSize(property: string): void;
    /**
     * @private
     */
    updateListItemsTillEnd(blockAdv: BlockWidget, updateNextBlockList: boolean): void;
    /**
     * @private
     */
    updateWholeListItems(block: BlockWidget): void;
    private updateListItems;
    private updateListItemsForTable;
    private updateListItemsForRow;
    private updateListItemsForCell;
    /**
     * @private
     */
    updateRenderedListItems(block: BlockWidget): void;
    private updateRenderedListItemsForTable;
    private updateRenderedListItemsForRow;
    private updateRenderedListItemsForCell;
    private updateListItemsForPara;
    private updateRenderedListItemsForPara;
    /**
     * Get logical offset of paragraph.
     * @private
     */
    getParagraphInfo(position: TextPosition): ParagraphInfo;
    /**
     * @private
     */
    getParagraphInfoInternal(line: LineWidget, lineOffset: number): ParagraphInfo;
    /**
     * Get offset value to update in selection
     * @private
     */
    getOffsetValue(selection: Selection): void;
    /**
     * Get offset value to update in selection
     * @private
     */
    getLineInfo(paragraph: ParagraphWidget, offset: number): LineInfo;
    /**
     * @private
     */
    setPositionParagraph(paragraph: ParagraphWidget, offset: number, skipSelectionChange: boolean): void;
    /**
     * @private
     */
    setPositionForCurrentIndex(textPosition: TextPosition, editPosition: string): void;
    /**
     * @private
     */
    insertPageNumber(numberFormat?: string): void;
    /**
     * @private
     */
    insertPageCount(numberFormat?: string): void;
    private createFields;
    /**
     * Insert Bookmark at current selection range
     * @param  {string} name - Name of bookmark
     */
    insertBookmark(name: string): void;
    /**
     * @private
     */
    deleteBookmark(bookmarkName: string): void;
    /**
     * @private
     */
    deleteBookmarkInternal(bookmark: BookmarkElementBox): void;
    /**
     * @private
     */
    getSelectionInfo(): SelectionInfo;
    /**
     * @private
     */
    insertElements(endElements: ElementBox[], startElements?: ElementBox[]): void;
    /**
     * @private
     */
    insertElementsInternal(position: TextPosition, elements: ElementBox[]): void;
    /**
     * @private
     */
    getHierarchicalIndex(block: Widget, offset: string): string;
    /**
     * @private
     */
    getBlock(position: IndexInfo): BlockInfo;
    /**
     * Return Block relative to position
     * @private
     */
    getBlockInternal(widget: Widget, position: IndexInfo): BlockInfo;
    /**
     * @private
     */
    getParagraph(position: IndexInfo): ParagraphInfo;
    /**
     * Get paragraph relative to position
     * @private
     */
    private getParagraphInternal;
    private getBodyWidget;
    private getHeaderFooterWidget;
    /**
     * @private
     */
    getBodyWidgetInternal(sectionIndex: number, blockIndex: number): BodyWidget;
    /**
     * @private
     */
    getBlockByIndex(container: Widget, blockIndex: number): Widget;
    /**
     * @private
     */
    updateHistoryPosition(position: TextPosition | string, isInsertPosition: boolean): void;
    /**
     * Applies the borders based on given settings.
     * @param {BorderSettings} settings
     */
    applyBorders(settings: BorderSettings): void;
    private applyAllBorders;
    private applyInsideBorders;
    /**
     * @private
     */
    getTopBorderCellsOnSelection(): TableCellWidget[];
    /**
     * @private
     */
    getLeftBorderCellsOnSelection(): TableCellWidget[];
    /**
     * @private
     */
    getRightBorderCellsOnSelection(): TableCellWidget[];
    /**
     * @private
     */
    getBottomBorderCellsOnSelection(): TableCellWidget[];
    /**
     * @private
     */
    clearAllBorderValues(borders: WBorders): void;
    private clearBorder;
    /**
     * @private
     */
    getAdjacentCellToApplyBottomBorder(): TableCellWidget[];
    private getAdjacentBottomBorderOnEmptyCells;
    /**
     * @private
     */
    getAdjacentCellToApplyRightBorder(): TableCellWidget[];
    private getSelectedCellsNextWidgets;
    /**
     * @private
     */
    getBorder(borderColor: string, lineWidth: number, borderStyle: LineStyle): WBorder;
    /**
     * Applies borders
     * @param  {WBorders} sourceBorders
     * @param  {WBorders} applyBorders
     * @private
     */
    applyBordersInternal(sourceBorders: WBorders, applyBorders: WBorders): void;
    /**
     * Apply shading to table
     * @param  {WShading} sourceShading
     * @param  {WShading} applyShading
     * @private
     */
    applyShading(sourceShading: WShading, applyShading: WShading): void;
    private applyBorder;
    /**
     * Apply Table Format changes
     * @param  {Selection} selection
     * @param  {WTableFormat} format
     * @private
     */
    onTableFormat(format: WTableFormat, isShading?: boolean): void;
    /**
     * @private
     */
    applyTableFormat(table: TableWidget, property: string, value: object): void;
    private applyTablePropertyValue;
    private handleTableFormat;
    private updateGridForTableDialog;
    /**
     * Applies Row Format Changes
     * @param  {Selection} selection
     * @param  {WRowFormat} format
     * @param  {WRow} row
     * @private
     */
    onRowFormat(format: WRowFormat): void;
    private applyRowFormat;
    private applyRowPropertyValue;
    private handleRowFormat;
    /**
     * Applies Cell Format changes
     * @param  {Selection} selection
     * @param  {WCellFormat} format
     * @param  {WCell} cell
     * @private
     */
    onCellFormat(format: WCellFormat): void;
    /**
     * @private
     */
    updateCellMargins(selection: Selection, value: WCellFormat): void;
    /**
     * @private
     */
    updateFormatForCell(selection: Selection, property: string, value: Object): void;
    /**
     * @private
     */
    getSelectedCellInColumn(table: TableWidget, rowStartIndex: number, columnIndex: number, rowEndIndex: number): TableCellWidget[];
    private getColumnCells;
    /**
     * @private
     */
    getTableWidth(table: TableWidget): number;
    private applyCellPropertyValue;
    private handleCellFormat;
    /**
     * @private
     */
    destroy(): void;
    private isTocField;
    /**
     * Updates the table of contents.
     * @private
     */
    updateToc(tocField?: FieldElementBox): void;
    private getTocSettings;
    private decodeTSwitch;
    /**
     * Inserts, modifies or updates the table of contents based on given settings.
     * @param {TableOfContentsSettings} tableOfContentsSettings
     */
    insertTableOfContents(tableOfContentsSettings?: TableOfContentsSettings): void;
    private appendEmptyPara;
    private constructTocFieldCode;
    private constructTSwitch;
    /**
     * Appends the end filed to the given line.
     */
    private appendEndField;
    private validateTocSettings;
    /**
     * Builds the TOC
     * @private
     */
    buildToc(tocSettings: TableOfContentsSettings, fieldCode: string, isFirstPara: boolean, isStartParagraph?: boolean): ParagraphWidget[];
    private createOutlineLevels;
    /**
     * Creates TOC heading styles
     * @param start - lower heading level
     * @param end - higher heading level
     */
    private createHeadingLevels;
    /**
     * Checks the current style is heading style.
     */
    private isHeadingStyle;
    private isOutlineLevelStyle;
    /**
     * Creates TOC field element.
     */
    private createTocFieldElement;
    /**
     * Updates TOC para
     */
    private createTOCWidgets;
    /**
     * Inserts toc hyperlink.
     */
    private insertTocHyperlink;
    /**
     * Inserts toc page number.
     */
    private insertTocPageNumber;
    private updatePageRef;
    /**
     * Inserts toc bookmark.
     */
    private insertTocBookmark;
    /**
     * Generates bookmark id.
     */
    private generateBookmarkName;
    /**
     * Change cell content alignment
     * @private
     */
    onCellContentAlignment(verticalAlignment: CellVerticalAlignment, textAlignment: TextAlignment): void;
    /**
     * @private
     */
    insertEditRangeElement(user: string): void;
    /**
     * @private
     */
    private insertEditRangeInsideTable;
    /**
     * @private
     */
    addRestrictEditingForSelectedArea(user: string): void;
    /**
     * @private
     */
    addEditElement(user: string): EditRangeStartElementBox;
    /**
     * @private
     */
    protect(protectionType: ProtectionType): void;
    /**
     * @private
     */
    addEditCollectionToDocument(): void;
    /**
     * @private
     */
    updateRangeCollection(editStart: EditRangeStartElementBox, user: string): void;
    /**
     * @private
     */
    removeUserRestrictions(user: string): void;
    /**
     * @private
     */
    removeUserRestrictionsInternal(editStart: EditRangeStartElementBox, currentUser?: string): void;
    /**
     * @private
     */
    removeAllEditRestrictions(): void;
}
/**
 * @private
 */
export interface SelectionInfo {
    start: TextPosition;
    end: TextPosition;
    startElementInfo: ElementInfo;
    endElementInfo: ElementInfo;
    isEmpty: boolean;
}
/**
 * @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 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;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/editor/image-resizer.d.ts
/**
 * Image resizer implementation.
 */
export  class ImageResizer {
    /**
     * @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 viewer;
    /**
     * @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
     */
    /**
    * @private
    */
    currentImageElementBox: ImageElementBox;
    /**
     * Gets or Sets the resize mark size.
     * @private
     */
    /**
    * @private
    */
    resizeMarkSize: number;
    /**
     * Constructor for image resizer module.
     * @param {DocumentEditor} node
     * @param {LayoutViewer} viewer
     * @private
     */
    constructor(node: DocumentEditor, viewer: LayoutViewer);
    /**
     * Gets module name.
     */
    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
     */
    setImageResizerPositions(x: number, y: number, width: number, height: number): void;
    /**
     * Creates image resizer DOM element.
     * @private
     */
    initializeImageResizer(): void;
    /**
     * Position an image resizer
     * @param {ImageElementBox} elementBox - Specifies the image position.
     * @private
     */
    positionImageResizer(elementBox: ImageElementBox): void;
    /**
     * Shows the image resizer.
     * @private
     */
    showImageResizer(): void;
    /**
     * Hides the image resizer.
     * @private
     */
    hideImageResizer(): void;
    /**
     * Initialize the resize marks.
     * @param {HTMLElement} resizeDiv - Specifies to appending resizer container div element.
     * @param {ImageResizer} imageResizer - Specifies to creating div element of each position.
     * @private
     */
    initResizeMarks(resizeDiv: HTMLElement, imageResizer: ImageResizer): HTMLDivElement;
    /**
     * Sets the image resizer position.
     * @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.
     * @private
     */
    setImageResizerPosition(left: number, top: number, width: number, height: number, imageResizer: ImageResizer): void;
    /**
     * Sets the image resizing points.
     * @param {ImageResizer} imageResizer - Specifies for position of each resizing elements.
     * @private
     */
    setImageResizingPoints(imageResizer: ImageResizer): void;
    /**
     * Initialize the resize container div element.
     * @param {ImageResizer} imageResizer - Specifies for creating resize container div element.
     * @private
     */
    initResizeContainerDiv(imageResizer: ImageResizer): void;
    /**
     * Apply the properties of each resize rectangle element.
     * @param {HTMLDivElement} resizeRectElement - Specifies for applying properties to resize rectangle element.
     * @private
     */
    applyProperties(resizeRectElement: HTMLDivElement): void;
    /**
     * Handles an image resizing.
     * @param {number} x  - Specifies for left value while resizing.
     * @param {number} y - Specifies for top value while resizing.
     */
    private handleImageResizing;
    /**
     * Handles image resizing on mouse.
     * @param {MouseEvent} event - Specifies for image resizing using mouse event.
     * @private
     */
    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.
     * @param {TouchEvent} touchEvent - Specifies for image resizing using touch event.
     * @private
     */
    handleImageResizingOnTouch(touchEvent: TouchEvent): void;
    /**
     * Gets the image point of mouse.
     * @param {Point} touchPoint - Specifies for resizer cursor position.
     * @private
     */
    getImagePoint(touchPoint: Point): ImagePointInfo;
    private applyPropertiesForMouse;
    /**
     * Gets the image point of touch.
     * @param {Point} touchPoints - Specifies for resizer cursor position.
     * @private
     */
    getImagePointOnTouch(touchPoints: Point): ImagePointInfo;
    private applyPropertiesForTouch;
    /**
     * @private
     */
    mouseUpInternal(): void;
    /**
     * Initialize history for image resizer.
     * @param {ImageResizer} imageResizer - Specifies for image resizer.
     * @param {WImage} imageContainer - Specifies for an image.
     * @private
     */
    initHistoryForImageResizer(imageContainer: ImageElementBox): void;
    /**
     * Updates histroy for image resizer.
     * @private
     */
    updateHistoryForImageResizer(): void;
    /**
     * Updates image resize container when applying zooming
     * @private
     */
    updateImageResizerPosition(): void;
    /**
     * Dispose the internal objects which are maintained.
     * @private
     */
    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;
    /**
     * Constructor for image resizing points class.
     */
    constructor();
}
/**
 * @private
 */
export  class SelectedImageInfo {
    private heightIn;
    private widthIn;
    /**
     * Gets or Sets the height value.
     * @private
     */
    /**
    * @private
    */
    height: number;
    /**
     * Gets or Sets the width value.
     * @private
     */
    /**
    * @private
    */
    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;
    resizeNode: number;
    resizerPosition: number;
    currentResizingTable: TableWidget;
    startingPoint: Point;
    /**
     * @private
     */
    readonly viewer: LayoutViewer;
    /**
     * @private
     */
    constructor(node: DocumentEditor);
    /**
     * Gets module name.
     */
    private getModuleName;
    /**
     * @private
     */
    updateResizingHistory(touchPoint: Point): void;
    handleResize(point: Point): void;
    /**
     * @private
     */
    isInRowResizerArea(touchPoint: Point): boolean;
    isInCellResizerArea(touchPoint: Point): boolean;
    /**
     * Gets cell resizer position.
     * @param {Point} point
     * @private
     */
    getCellReSizerPosition(touchPoint: Point): number;
    /**
     * Gets cell resizer position.
     * @param {TableCellWidget} cellWidget
     * @param {Point} touchPoint
     */
    private getCellReSizerPositionInternal;
    private getRowReSizerPosition;
    /**
     * To handle Table Row and cell resize
     * @param touchPoint
     * @private
     */
    handleResizing(touchPoint: Point): void;
    resizeTableRow(dragValue: number): void;
    /**
     * Gets the table widget from given cursor point
     * @param cursorPoint
     */
    private getTableWidget;
    private getTableWidgetFromWidget;
    /**
     * Return the table cell widget from the given cursor point
     * @param cursorPoint
     * @private
     */
    getTableCellWidget(cursorPoint: Point): TableCellWidget;
    updateRowHeight(row: TableRowWidget, dragValue: number): void;
    resizeTableCellColumn(dragValue: number): void;
    /**
     * Resize Selected Cells
     */
    private resizeColumnWithSelection;
    /**
     * Resize selected cells at resizer position 0
     */
    private resizeColumnAtStart;
    private updateWidthForCells;
    /**
     * Resize selected cells at last column
     */
    private resizeColumnAtLastColumnIndex;
    /**
     *  Resize selected cells at middle column
     */
    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;
    /**
     * Return table row width
     */
    private getActualWidth;
    setPreferredWidth(table: TableWidget): void;
    private updateCellPreferredWidths;
    /**
     * Update grid before width value
     */
    private updateGridBeforeWidth;
    /**
     * Update grid after width value
     */
    updateGridAfterWidth(width: number, row: TableRowWidget): 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;
    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;
    private hasValue;
    cloneFormat(): WBorder;
    destroy(): void;
    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;
    private lineWidthIn;
    private valueIn;
    ownerBase: Object;
    left: WBorder;
    right: WBorder;
    top: WBorder;
    bottom: WBorder;
    horizontal: WBorder;
    vertical: WBorder;
    diagonalUp: WBorder;
    diagonalDown: WBorder;
    constructor(node?: Object);
    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;
    bold: boolean;
    italic: boolean;
    fontSize: number;
    fontFamily: string;
    underline: Underline;
    strikethrough: Strikethrough;
    baselineAlignment: BaselineAlignment;
    highlightColor: HighlightColor;
    fontColor: string;
    bidi: boolean;
    bdo: BiDirectionalOverride;
    boldBidi: boolean;
    italicBidi: boolean;
    fontSizeBidi: number;
    fontFamilyBidi: string;
    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;
    private hasValue;
    clearFormat(): void;
    destroy(): void;
    copyFormat(format: WCharacterFormat): void;
    updateUniqueCharacterFormat(format: WCharacterFormat): void;
    static clear(): void;
    ApplyStyle(baseCharStyle: WStyle): void;
    /**
     * For internal use
     * @private
     */
    getValue(property: string): Object;
    /**
     * For internal use
     * @private
     */
    mergeFormat(format: WCharacterFormat): void;
}
//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;
    /**
     * For internal use
     * @private
     */
    getValue(property: string): Object;
    /**
     * For internal use
     * @private
     */
    mergeFormat(format: WListFormat): void;
}
//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;
    listFormat: WListFormat;
    ownerBase: Object;
    baseStyle: WStyle;
    tabs: WTabStop[];
    getUpdatedTabs(): WTabStop[];
    private hasTabStop;
    leftIndent: number;
    rightIndent: number;
    firstLineIndent: number;
    beforeSpacing: number;
    afterSpacing: number;
    lineSpacing: number;
    lineSpacingType: LineSpacingType;
    textAlignment: TextAlignment;
    outlineLevel: OutlineLevel;
    bidi: boolean;
    contextualSpacing: boolean;
    constructor(node?: Object);
    private getListFormatParagraphFormat;
    getPropertyValue(property: string): Object;
    private getDefaultValue;
    private documentParagraphFormat;
    private setPropertyValue;
    private initializeUniqueParagraphFormat;
    private addUniqueParaFormat;
    private static getPropertyDefaultValue;
    clearFormat(): void;
    destroy(): void;
    copyFormat(format: WParagraphFormat): void;
    updateUniqueParagraphFormat(format: WParagraphFormat): void;
    cloneFormat(): WParagraphFormat;
    private hasValue;
    static clear(): void;
    ApplyStyle(baseStyle: WStyle): void;
    /**
     * For internal use
     * @private
     */
    getValue(property: string): Object;
    /**
     * For internal use
     * @private
     */
    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;
    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;
    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;
    private hasValue;
    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;
    allowAutoFit: boolean;
    cellSpacing: number;
    leftMargin: number;
    topMargin: number;
    rightMargin: number;
    bottomMargin: number;
    leftIndent: number;
    tableAlignment: TableAlignment;
    preferredWidth: number;
    preferredWidthType: WidthType;
    bidi: boolean;
    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;
}
//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;
}
//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;
}
//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;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/print.d.ts
/**
 * Print class
 */
export  class Print {
    /**
     * Gets module name.
     */
    private getModuleName;
    /**
     * Prints the current viewer
     * @param viewer
     * @param printWindow
     * @private
     */
    print(viewer: PageLayoutViewer, printWindow?: Window): void;
    /**
     * Opens print window and displays current page to print.
     * @private
     */
    printWindow(viewer: PageLayoutViewer, browserUserAgent: string, printWindow?: Window): void;
    /**
     * Generates print content.
     * @private
     */
    generatePrintContent(viewer: PageLayoutViewer, element: HTMLDivElement): void;
    /**
     * Gets page width.
     * @param pages
     * @private
     */
    getPageWidth(pages: Page[]): number;
    /**
     *  Gets page height.
     * @private
     */
    getPageHeight(pages: Page[]): number;
    /**
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/restrict-editing/add-user-dialog.d.ts
/**
 * @private
 */
export  class AddUserDialog {
    private viewer;
    private target;
    private textBoxInput;
    private userList;
    private addButton;
    private owner;
    constructor(viewer: LayoutViewer, owner: RestrictEditing);
    /**
     * @private
     */
    initUserDialog(localValue: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     */
    show: () => void;
    loadUserDetails: () => void;
    /**
     * @private
     */
    okButtonClick: () => void;
    /**
     * @private
     */
    hideDialog: () => void;
    /**
     * @private
     */
    onKeyUpOnDisplayBox: () => void;
    addButtonClick: () => void;
    validateUserName(value: string): boolean;
    deleteButtonClick: () => void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/restrict-editing/enforce-protection-dialog.d.ts
/**
 * @private
 */
export  class EnforceProtectionDialog {
    private viewer;
    private target;
    private passwordTextBox;
    private confirmPasswordTextBox;
    private localeValue;
    private owner;
    /**
     * @private
     */
    password: string;
    private enforceProtectionHandler;
    constructor(viewer: LayoutViewer, owner: RestrictEditing);
    /**
     * @private
     */
    initDialog(localValue: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     */
    show: () => void;
    hideDialog: () => void;
    /**
     * @private
     */
    okButtonClick: () => void;
    private failureHandler;
    private enforceProtection;
    private protectDocument;
}
/**
 * @private
 */
export  class UnProtectDocumentDialog {
    private viewer;
    private target;
    private passwordTextBox;
    private owner;
    private localObj;
    private currentHashValue;
    private currentSaltValue;
    private unProtectDocumentHandler;
    constructor(viewer: LayoutViewer, owner: RestrictEditing);
    /**
     * @private
     */
    initDialog(localValue: base.L10n, isRtl?: boolean): void;
    /**
     * @private
     */
    show: () => void;
    /**
     * @private
     */
    okButtonClick: () => void;
    private onUnProtectionSuccess;
    private failureHandler;
    /**
     * @private
     */
    hideDialog: () => void;
    private validateHashValue;
}
//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 {
    viewer: LayoutViewer;
    restrictPane: HTMLElement;
    allowFormatting: buttons.CheckBox;
    private addUser;
    private enforceProtection;
    private readonly;
    private allowFormat;
    private allowPrint;
    private allowCopy;
    private addUserDialog;
    enforceProtectionDialog: EnforceProtectionDialog;
    stopProtection: HTMLButtonElement;
    addRemove: boolean;
    /**
     * @private
     */
    unProtectDialog: UnProtectDocumentDialog;
    stopProtectionDiv: HTMLElement;
    restrictPaneWholeDiv: HTMLElement;
    private closeButton;
    protectionType: ProtectionType;
    restrictFormatting: boolean;
    private localObj;
    currentHashValue: string;
    currentSaltValue: string;
    isShowRestrictPane: boolean;
    base64: Base64;
    addedUser: lists.ListView;
    stopReadOnlyOptions: HTMLElement;
    usersCollection: string[];
    highlightCheckBox: buttons.CheckBox;
    constructor(viewer: LayoutViewer);
    showHideRestrictPane(isShow: boolean): void;
    private initPane;
    initRestrictEditingPane(localObj: base.L10n): void;
    showStopProtectionPane(show: boolean): void;
    private closePane;
    private wireEvents;
    private enableFormatting;
    private readOnlyChanges;
    private selectHandler;
    highlightClicked: (args: any) => void;
    private protectDocument;
    createCheckBox(label: string, element: HTMLInputElement): buttons.CheckBox;
    loadPaneValue(): void;
    navigateNextRegion: () => void;
    addUserCollection(): void;
    showAllRegion: () => void;
    updateUserInformation(): 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 viewer;
    /**
     * @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 findTabButtonHeader;
    private replaceTabButtonHeader;
    /**
     * @private
     */
    isReplace: boolean;
    private localeValue;
    /**
     * Constructor for Options pane module
     * @param {LayoutViewer} layoutViewer
     * @private
     */
    constructor(layoutViewer: LayoutViewer);
    /**
     * Get the module name.
     */
    private getModuleName;
    /**
     * Initialize the options pane.
     * @param {base.L10n} localeValue - Specifies the localization based on culture.
     * @private
     */
    initOptionsPane(localeValue: base.L10n, isRtl?: boolean): void;
    /**
     * Create replace pane instances.
     */
    private createReplacePane;
    /**
     * Gets selected tab item which tab is selected.
     * @param {navigations.SelectEventArgs} args - Specifies which tab will be opened.
     * @private
     */
    selectedTabItem: (args: navigations.SelectEventArgs) => void;
    private searchOptionChange;
    private navigateSearchResult;
    /**
     * Apply find option based on whole words value.
     * @param {buttons.ChangeEventArgs} args - Specifies the search options value.
     * @private
     */
    wholeWordsChange: (args: buttons.ChangeEventArgs) => void;
    /**
     * Apply find option based on match value.
     * @param {buttons.ChangeEventArgs} args - Specifies the search options value.
     * @private
     */
    matchChange: (args: buttons.ChangeEventArgs) => void;
    /**
     * Apply find options based on regular value.
     * @param {buttons.ChangeEventArgs} args - Specifies the search options value.
     * @private
     */
    /**
     * Binding events from the element when optins pane creation.
     * @private
     */
    onWireEvents: () => void;
    /**
     * Fires on key down actions done.
     * @private
     */
    onKeyDownInternal(): void;
    /**
     * Enable find pane only.
     * @private
     */
    onFindPane: () => void;
    private getMessageDivHeight;
    private onEnableDisableReplaceButton;
    /**
     * Enable replace pane only.
     * @private
     */
    onReplacePane: () => void;
    /**
     * Fires on key down on options pane.
     * @param {KeyboardEvent} event - Specifies the focus of current element.
     * @private
     */
    onKeyDownOnOptionPane: (event: KeyboardEvent) => void;
    /**
     * Fires on replace.
     * @private
     */
    onReplaceButtonClick: () => void;
    /**
     * Fires on replace all.
     * @private
     */
    onReplaceAllButtonClick: () => void;
    /**
     * Replace all.
     * @private
     */
    replaceAll(): void;
    /**
     * Fires on search icon.
     * @private
     */
    searchIconClickInternal: () => void;
    /**
     * Fires on getting next results.
     * @private
     */
    navigateNextResultButtonClick: () => void;
    private updateListItems;
    /**
     * Fires on getting previous results.
     * @private
     */
    navigatePreviousResultButtonClick: () => void;
    /**
     * Scrolls to position.
     * @param {HTMLElement} list - Specifies the list element.
     * @private
     */
    scrollToPosition(list: HTMLElement): void;
    /**
     * Fires on key down
     * @param {KeyboardEvent} event - Speficies key down actions.
     * @private
     */
    onKeyDown: (event: KeyboardEvent) => void;
    /**
     * Clear the focus elements.
     * @private
     */
    clearFocusElement(): void;
    /**
     * Close the optios pane.
     * @private
     */
    close: () => void;
    /**
     * Fires on results list block.
     * @param {MouseEvent} args - Specifies which list was clicked.
     * @private
     */
    resultListBlockClick: (args: MouseEvent) => void;
    /**
     * Show or hide option pane based on boolean value.
     * @param {boolean} show - Specifies showing or hiding the options pane.
     * @private
     */
    showHideOptionsPane(show: boolean): void;
    /**
     * Clears search results.
     * @private
     */
    clearSearchResultItems(): void;
    /**
     * Dispose the internal objects which are maintained.
     * @private
     */
    destroy(): void;
    /**
     * Dispose the internal objects which are maintained.
     */
    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
     * @blazorType int
     */
    readonly length: number;
    /**
     * Gets the index of current search result.
     * @aspType int
     * @blazorType int
     */
    /**
    * Set the index of current search result.
    * @aspType int
    * @blazorType int
    */
    index: number;
    /**
     * @private
     */
    constructor(search: Search);
    /**
     * Replace text in current search result.
     * @param textToReplace text to replace
     * @private
     */
    replace(textToReplace: string): void;
    /**
     * Replace all the instance of search result.
     * @param textToReplace text to replace
     */
    replaceAll(textToReplace: string): void;
    /**
     * @private
     */
    navigate(index: number): void;
    /**
     * Clears all the instance of search result.
     */
    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 isHandledOddPageHeader;
    private isHandledEvenPageHeader;
    private isHandledOddPageFooter;
    private isHandledEvenPageFooter;
    /**
     * @private
     */
    readonly viewer: LayoutViewer;
    /**
     * Gets the search results object.
     * @aspType SearchResults
     * @blazorType SearchResults
     */
    readonly searchResults: SearchResults;
    /**
     * @private
     */
    constructor(owner: DocumentEditor);
    /**
     * Get the module name.
     */
    private getModuleName;
    /**
     * Finds the immediate occurrence of specified text from cursor position in the document.
     * @param  {string} text
     * @param  {FindOption} findOption? - Default value of ‘findOptions’ parameter is 'None'.
     * @private
     */
    find(text: string, findOptions?: FindOption): void;
    /**
     * Finds all occurrence of specified text in the document.
     * @param  {string} text
     * @param  {FindOption} findOption? - Default value of ‘findOptions’ parameter is 'None'.
     */
    findAll(text: string, findOptions?: FindOption): void;
    /**
     * Replace the searched string with specified string
     * @param  {string} replaceText
     * @param  {TextSearchResult} result
     * @param  {TextSearchResults} results
     * @private
     */
    replace(replaceText: string, result: TextSearchResult, results: TextSearchResults): number;
    /**
     * Find the textToFind string in current document and replace the specified string.
     * @param  {string} textToFind
     * @param  {string} textToReplace
     * @param  {FindOption} findOptions? - Default value of ‘findOptions’ parameter is FindOption.None.
     * @private
     */
    replaceInternal(textToReplace: string, findOptions?: FindOption): void;
    /**
     * Replace all the searched string with specified string
     * @param  {string} replaceText
     * @param  {TextSearchResults} results
     * @private
     */
    replaceAll(replaceText: string, results: TextSearchResults): number;
    /**
     * Find the textToFind string in current document and replace the specified string.
     * @param  {string} textToFind
     * @param  {string} textToReplace
     * @param  {FindOption} findOptions? - Default value of ‘findOptions’ parameter is FindOption.None.
     * @private
     */
    replaceAllInternal(textToReplace: string, findOptions?: FindOption): void;
    /**
     * @private
     */
    navigate(textSearchResult: TextSearchResult): void;
    /**
     * @private
     */
    highlight(textSearchResults: TextSearchResults): void;
    /**
     * @private
     */
    highlightResult(result: TextSearchResult): void;
    /**
     * Highlight search result
     * @private
     */
    highlightSearchResult(paragraph: ParagraphWidget, start: TextPosition, end: TextPosition): void;
    /**
     * @private
     */
    createHighlightBorder(lineWidget: LineWidget, width: number, left: number, top: number): void;
    /**
     * Adds search highlight border.
     * @private
     */
    addSearchHighlightBorder(lineWidget: LineWidget): SearchWidgetInfo;
    /**
     * @private
     */
    highlightSearchResultParaWidget(widget: ParagraphWidget, startIndex: number, endLine: LineWidget, endElement: ElementBox, endIndex: number): void;
    /**
     * @private
     */
    addSearchResultItems(result: string): void;
    /**
     * @private
     */
    addFindResultView(textSearchResults: TextSearchResults): void;
    /**
     * @private
     */
    addFindResultViewForSearch(result: TextSearchResult): void;
    /**
     * Clears search highlight.
     * @private
     */
    clearSearchHighlight(): void;
    /**
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/search/text-search-result.d.ts
/**
 * @private
 */
export  class TextSearchResult {
    private startIn;
    private endIn;
    private owner;
    /**
     * @private
     */
    isHeader: boolean;
    /**
     * @private
     */
    isFooter: boolean;
    readonly viewer: LayoutViewer;
    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 isHeader;
    private isFooter;
    readonly viewer: LayoutViewer;
    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;
    /**
     * Method to retrieve text from a line widget
     * @param  {ElementBox} inlineElement
     * @param {number} indexInInline
     * @param {boolean} includeNextLine
     * @private
     */
    getElementInfo(inlineElement: ElementBox, indexInInline: number, includeNextLine?: boolean): TextInLineInfo;
    /**
     * Method to update location for matched text
     * @param {RegExpExecArray} matches
     * @param {TextSearchResults} results
     * @param {Dictionary<TextElementBox, number>} textInfo
     * @param {number}indexInInline
     * @param {boolean} isInline
     * @param {boolean}isFirstMatch
     * @param {TextPosition}selectionEnd
     */
    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;
    /**
     * Method to get text position
     * @param {LineWidget} lineWidget
     * @param {string} hierarchicalIndex
     * @private
     */
    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
     */
    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
     * @blazorType int
     */
    /**
    * Sets the font size of selected contents.
    * @aspType int
    * @blazorType int
    */
    fontSize: number;
    /**
     * Gets or sets the font family of selected contents.
     * @aspType string
     * @blazorType string
     */
    /**
    * Sets the font family of selected contents.
    * @aspType string
    * @blazorType string
    */
    fontFamily: string;
    /**
     * Gets or sets the font color of selected contents.
     * @aspType string
     * @blazorType string
     */
    /**
    * Sets the font color of selected contents.
    * @aspType string
    * @blazorType string
    */
    fontColor: string;
    /**
     * Gets or sets the bold formatting of selected contents.
     * @aspType bool
     * @blazorType bool
     */
    /**
    * Sets the bold formatting of selected contents.
    * @aspType bool
    * @blazorType bool
    */
    bold: boolean;
    /**
     * Gets or sets the italic formatting of selected contents.
     * @aspType bool
     * @blazorType bool
     */
    /**
    * Sets the italic formatting of selected contents.
    * @aspType bool
    * @blazorType 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;
    /**
     * @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;
    /**
     * 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 paragraph format implementation
 */
export  class SelectionParagraphFormat {
    private selection;
    private leftIndentIn;
    private rightIndentIn;
    private beforeSpacingIn;
    private afterSpacingIn;
    private textAlignmentIn;
    private firstLineIndentIn;
    private lineSpacingIn;
    private lineSpacingTypeIn;
    private bidiIn;
    private contextualSpacingIn;
    /**
     * @private
     */
    listId: number;
    private listLevelNumberIn;
    private viewer;
    /**
     * @private
     */
    styleName: string;
    /**
     * Gets or Sets the left indent for selected paragraphs.
     * @default undefined
     * @aspType int
     * @blazorType int
     */
    /**
    * Sets the left indent for selected paragraphs.
    * @default undefined
    * @aspType int
    * @blazorType int
    */
    leftIndent: number;
    /**
     * Gets or Sets the right indent for selected paragraphs.
     * @default undefined
     * @aspType int
     * @blazorType int
     */
    /**
    * Sets the right indent for selected paragraphs.
    * @default undefined
    * @aspType int
    * @blazorType int
    */
    rightIndent: number;
    /**
     * Gets or Sets the first line indent for selected paragraphs.
     * @default undefined
     * @aspType int
     * @blazorType int
     */
    /**
    * Sets the first line indent for selected paragraphs.
    * @default undefined
    * @aspType int
    * @blazorType 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
     * @blazorType int
     */
    /**
    * Gets or Sets the after spacing for selected paragraphs.
    * @default undefined
    * @aspType int
    * @blazorType int
    */
    afterSpacing: number;
    /**
     * Gets or Sets the before spacing for selected paragraphs.
     * @default undefined
     * @aspType int
     * @blazorType int
     */
    /**
    * Sets the before spacing for selected paragraphs.
    * @default undefined
    * @aspType int
    * @blazorType int
    */
    beforeSpacing: number;
    /**
     * Gets or Sets the line spacing for selected paragraphs.
     * @default undefined
     * @aspType int
     * @blazorType int
     */
    /**
    * Sets the line spacing for selected paragraphs.
    * @default undefined
    * @aspType int
    * @blazorType 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
     * @blazorType int
     */
    /**
    * Gets or Sets the list level number for selected paragraphs.
    * @default undefined
    * @aspType int
    * @blazorType int
    */
    listLevelNumber: number;
    /**
     * Gets or Sets the bidirectional property for selected paragraphs
     * @aspType bool
     * @blazorType bool
     */
    /**
    * Sets the bidirectional property for selected paragraphs
    * @aspType bool
    * @blazorType bool
    */
    bidi: boolean;
    /**
     * Gets or sets a value indicating whether to add space between the paragraphs of same style.
     * @aspType bool
     * @blazorType bool
     */
    /**
    * Sets a value indicating whether to add space between the paragraphs of same style.
    * @aspType bool
    * @blazorType bool
    */
    contextualSpacing: boolean;
    /**
     * Gets the list text for selected paragraphs.
     * @aspType string
     * @blazorType string
     */
    readonly listText: string;
    /**
     * @private
     */
    constructor(selection: Selection, viewer: LayoutViewer);
    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): 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
     */
    bidi: boolean;
    /**
     * Gets or sets the page height.
     * @aspType int
     * @blazorType int
     */
    /**
    * Gets or sets the page height.
    * @aspType int
    * @blazorType int
    */
    pageHeight: number;
    /**
     * Gets or sets the page width.
     * @aspType int
     * @blazorType int
     */
    /**
    * Gets or sets the page width.
    * @aspType int
    * @blazorType int
    */
    pageWidth: number;
    /**
     * Gets or sets the page left margin.
     * @aspType int
     * @blazorType int
     */
    /**
    * Gets or sets the page left margin.
    * @aspType int
    * @blazorType int
    */
    leftMargin: number;
    /**
     * Gets or sets the page bottom margin.
     * @aspType int
     * @blazorType int
     */
    /**
    * Gets or sets the page bottom margin.
    * @aspType int
    * @blazorType int
    */
    bottomMargin: number;
    /**
     * Gets or sets the page top margin.
     * @aspType int
     * @blazorType int
     */
    /**
    * Gets or sets the page top margin.
    * @aspType int
    * @blazorType int
    */
    topMargin: number;
    /**
     * Gets or sets the page right margin.
     * @aspType int
     * @blazorType int
     */
    /**
    * Gets or sets the page right margin.
    * @aspType int
    * @blazorType int
    */
    rightMargin: number;
    /**
     * Gets or sets the header distance.
     * @aspType int
     * @blazorType int
     */
    /**
    * Gets or sets the header distance.
    * @aspType int
    * @blazorType int
    */
    headerDistance: number;
    /**
     * Gets or sets the footer distance.
     * @aspType int
     * @blazorType int
     */
    /**
    * Gets or sets the footer distance.
    * @aspType int
    * @blazorType int
    */
    footerDistance: number;
    /**
     * Gets or sets a value indicating whether the section has different first page.
     * @aspType bool
     * @blazorType bool
     */
    /**
    * Gets or sets a value indicating whether the section has different first page.
    * @aspType bool
    * @blazorType bool
    */
    differentFirstPage: boolean;
    /**
     * Gets or sets a value indicating whether the section has different odd and even page.
     * @aspType bool
     * @blazorType bool
     */
    /**
    * Gets or sets a value indicating whether the section has different odd and even page.
    * @aspType bool
    * @blazorType bool
    */
    differentOddAndEvenPages: boolean;
    /**
     * @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
     * @blazorType int
     */
    /**
    * Gets or Sets the left indent for selected table.
    * @aspType int
    * @blazorType int
    */
    leftIndent: number;
    /**
     * Gets or Sets the default top margin of cell for selected table.
     * @default undefined
     * @aspType int
     * @blazorType int
     */
    /**
    * Gets or Sets the default top margin of cell for selected table.
    * @default undefined
    * @aspType int
    * @blazorType int
    */
    topMargin: number;
    /**
     * Gets or Sets the background for selected table.
     * @default undefined
     * @aspType string
     * @blazorType string
     */
    /**
    * Gets or Sets the background for selected table.
    * @default undefined
    * @aspType string
    * @blazorType 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
     * @blazorType int
     */
    /**
    * Gets or Sets the default left margin of cell for selected table.
    * @default undefined
    * @aspType int
    * @blazorType int
    */
    leftMargin: number;
    /**
     * Gets or Sets the default bottom margin of cell for selected table.
     * @default undefined
     * @aspType int
     * @blazorType int
     */
    /**
    * Gets or Sets the default bottom margin of cell for selected table.
    * @default undefined
    * @aspType int
    * @blazorType int
    */
    bottomMargin: number;
    /**
     * Gets or Sets the cell spacing for selected table.
     * @default undefined
     * @aspType int
     * @blazorType int
     */
    /**
    * Gets or Sets the cell spacing for selected table.
    * @default undefined
    * @aspType int
    * @blazorType int
    */
    cellSpacing: number;
    /**
     * Gets or Sets the default right margin of cell for selected table.
     * @default undefined
     * @aspType int
     * @blazorType int
     */
    /**
    * Gets or Sets the default right margin of cell for selected table.
    * @default undefined
    * @aspType int
    * @blazorType int
    */
    rightMargin: number;
    /**
     * Gets or Sets the preferred width for selected table.
     * @default undefined
     * @aspType int
     * @blazorType int
     */
    /**
    * Gets or Sets the preferred width for selected table.
    * @default undefined
    * @aspType int
    * @blazorType 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
     * @blazorType bool
     */
    /**
    * Gets or sets the bidi property
    * @aspType bool
    * @blazorType bool
    */
    bidi: boolean;
    /**
     * @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
     * @blazorType int
     */
    /**
    * Gets or Sets the left margin for selected cells.
    * @default undefined
    * @aspType int
    * @blazorType int
    */
    leftMargin: number;
    /**
     * Gets or Sets the right margin for selected cells.
     * @default undefined
     * @aspType int
     * @blazorType int
     */
    /**
    * Gets or Sets the right margin for selected cells.
    * @default undefined
    * @aspType int
    * @blazorType int
    */
    rightMargin: number;
    /**
     * Gets or Sets the top margin for selected cells.
     * @default undefined
     * @aspType int
     * @blazorType int
     */
    /**
    * Gets or Sets the top margin for selected cells.
    * @default undefined
    * @aspType int
    * @blazorType int
    */
    topMargin: number;
    /**
     * Gets or Sets the bottom margin for selected cells.
     * @default undefined
     * @aspType int
     * @blazorType int
     */
    /**
    * Gets or Sets the bottom margin for selected cells.
    * @default undefined
    * @aspType int
    * @blazorType int
    */
    bottomMargin: number;
    /**
     * Gets or Sets the background for selected cells.
     * @default undefined
     * @aspType string
     * @blazorType string
     */
    /**
    * Gets or Sets the background for selected cells.
    * @default undefined
    * @aspType string
    * @blazorType string
    */
    /* tslint:enable */
    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
     * @blazorType int
     */
    /**
    * Gets or Sets the preferred width  for selected cells.
    * @default undefined
    * @aspType int
    * @blazorType int
    */
    preferredWidth: number;
    /**
     * @private
     */
    constructor(selection: Selection);
    private notifyPropertyChanged;
    private getPropertyValue;
    /**
     * Copies the format.
     * @param  {WCellFormat} format Source Format to copy.
     * @returns void
     * @private
     */
    copyFormat(format: WCellFormat): void;
    /**
     * Clears the format.
     * @returns void
     * @private
     */
    clearCellFormat(): void;
    /**
     * Combines the format.
     * @param  {WCellFormat} format
     * @private
     */
    combineFormat(format: WCellFormat): void;
    /**
     * Clears the format.
     * @returns void
     * @private
     */
    clearFormat(): void;
    /**
     * Destroys the manages resources.
     * @returns void
     * @private
     */
    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
     * @blazorType int
     */
    /**
    * Gets or Sets the height for selected rows.
    * @default undefined
    * @aspType int
    * @blazorType int
    */
    height: number;
    /**
     * Gets or Sets the height type for selected rows.
     * @default undefined
     */
    /**
    * Gets or Sets the height type for selected rows.
    * @default undefined
    */
    heightType: HeightType;
    /**
     * Gets or Sets a value indicating whether the selected rows are header rows or not.
     * @default undefined
     * @aspType bool
     * @blazorType bool
     */
    /**
    * Gets or Sets a value indicating whether the selected rows are header rows or not.
    * @default undefined
    * @aspType bool
    * @blazorType bool
    */
    isHeader: boolean;
    /**
     * Gets or Sets a value indicating whether to allow break across pages for selected rows.
     * @default undefined
     * @aspType bool
     * @blazorType bool
     */
    /**
    * Gets or Sets a value indicating whether to allow break across pages for selected rows.
    * @default undefined
    * @aspType bool
    * @blazorType bool
    */
    allowBreakAcrossPages: boolean;
    /**
     * @private
     */
    constructor(selection: Selection);
    private notifyPropertyChanged;
    private getPropertyValue;
    /**
     * Copies the format.
     * @param  {WRowFormat} format
     * @returns void
     * @private
     */
    copyFormat(format: WRowFormat): void;
    /**
     * Combines the format.
     * @param  {WRowFormat} format
     * @private
     */
    combineFormat(format: WRowFormat): void;
    /**
     * Clears the row format.
     * @returns void
     * @private
     */
    clearRowFormat(): void;
    /**
     * Clears the format.
     * @returns void
     * @private
     */
    clearFormat(): void;
    /**
     * Destroys the managed resources.
     * @returns void
     * @private
     */
    destroy(): void;
}
/**
 * Selection image format implementation
 */
export  class SelectionImageFormat {
    /**
     * @private
     */
    image: ImageElementBox;
    /**
     * @private
     */
    selection: Selection;
    /**
     * Gets the width of the image.
     * @aspType int
     * @blazorType int
     */
    readonly width: number;
    /**
     * Gets the height of the image.
     * @aspType int
     * @blazorType int
     */
    readonly height: number;
    /**
     * @private
     */
    constructor(selection: Selection);
    /**
     * Resizes the image based on given size.
     * @param width
     * @param height
     */
    resize(width: number, height: number): void;
    /**
     * Update image width and height
     * @private
     */
    updateImageFormat(width: number, height: number): void;
    /**
     * @private
     */
    copyImageFormat(image: ImageElementBox): void;
    /**
     * @private
     */
    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 viewer;
    /**
     * @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);
    /**
     * 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
     * @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
     * @private
     */
    movePreviousPositionInternal(fieldEnd: FieldElementBox): void;
    /**
     * Moves the text position to start of the word.
     * @private
     */
    moveToWordStartInternal(type: number): void;
    /**
     * Get next word offset
     * @private
     */
    getNextWordOffset(inline: ElementBox, indexInInline: number, type: number, isInField: boolean, endSelection: boolean, endPosition: TextPosition, excludeSpace: boolean): void;
    /**
     * get next word offset from field begin
     * @private
     */
    getNextWordOffsetFieldBegin(fieldBegin: FieldElementBox, indexInInline: number, type: number, isInField: boolean, endSelection: boolean, endPosition: TextPosition, excludeSpace: boolean): void;
    /**
     * get next word offset from image
     * @private
     */
    getNextWordOffsetImage(image: ImageElementBox, indexInInline: number, type: number, isInField: boolean, endSelection: boolean, endPosition: TextPosition, excludeSpace: boolean): void;
    /**
     * get next word offset from span
     */
    private getNextWordOffsetSpan;
    /**
     * get next word offset from field separator
     * @private
     */
    private getNextWordOffsetFieldSeperator;
    /**
     * get next word offset from field end
     * @private
     */
    private getNextWordOffsetFieldEnd;
    /**
     * Get previous word offset
     * @private
     */
    private getPreviousWordOffset;
    private getPreviousWordOffsetBookMark;
    /**
     * get previous word offset from field end
     * @private
     */
    private getPreviousWordOffsetFieldEnd;
    /**
     * get previous word offset from field separator
     * @private
     */
    private getPreviousWordOffsetFieldSeparator;
    /**
     * get previous word offset from field begin
     * @private
     */
    private getPreviousWordOffsetFieldBegin;
    /**
     * get previous word offset from image
     * @private
     */
    private getPreviousWordOffsetImage;
    /**
     * Get previous word offset from span
     * @private
     */
    private getPreviousWordOffsetSpan;
    /**
     * set previous word offset in span
     * @private
     */
    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;
    /**
     * @private
     */
    moveToLineEndInternal(selection: Selection, moveToNextLine: boolean): void;
    /**
     * Move to next line
     * @private
     */
    moveToNextLine(left: number): void;
    /**
     * Move upward in table
     * @private
     */
    private moveUpInTable;
    /**
     * Move down inside table
     * @private
     */
    private moveDownInTable;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class SelectionWidgetInfo {
    private leftIn;
    private widthIn;
    color: string;
    /**
     * @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;
    /**
     * 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;
    constructor(fieldBeginAdv: FieldElementBox, selection: Selection);
    /**
     * Parse field values
     * @param  {string} value
     * @returns Void
     */
    private parseFieldValues;
    private parseFieldValue;
    private setLinkType;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class ImageFormat {
    /**
     * @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 viewer;
    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;
    private startInternal;
    private endInternal;
    private htmlWriterIn;
    private toolTipElement;
    private toolTipObject;
    private toolTipField;
    private isMoveDownOrMoveUp;
    /**
     * @private
     */
    pasteElement: HTMLElement;
    /**
     * @private
     */
    isViewPasteOptions: boolean;
    /**
     * @private
     */
    skipEditRangeRetrieval: boolean;
    /**
     * @private
     */
    editPosition: string;
    /**
     * @private
     */
    selectedWidgets: Dictionary<IWidget, object>;
    /**
     * @private
     */
    isHighlightEditRegionIn: boolean;
    /**
     * @private
     */
    editRangeCollection: EditRangeStartElementBox[];
    /**
     * @private
     */
    isHightlightEditRegionInternal: boolean;
    /**
     * @private
     */
    isCurrentUser: boolean;
    /**
     * @private
     */
    isHighlightNext: boolean;
    /**
     * @private
     */
    hightLightNextParagraph: BlockWidget;
    /**
     * @private
     */
    editRegionHighlighters: Dictionary<LineWidget, SelectionWidgetInfo[]>;
    /**
     * @private
     */
    /**
    * @private
    */
    isHighlightEditRegion: boolean;
    /**
     * @private
     */
    readonly htmlWriter: HtmlExport;
    /**
     * Gets the start text position of last range in the selection
     * @returns {TextPosition}
     * @private
     */
    /**
    * @private
    */
    start: TextPosition;
    /**
     * Gets the instance of selection character format.
     * @default undefined
     * @aspType SelectionCharacterFormat
     * @blazorType SelectionCharacterFormat
     * @return {SelectionCharacterFormat}
     */
    readonly characterFormat: SelectionCharacterFormat;
    /**
     * Gets the instance of selection paragraph format.
     * @default undefined
     * @aspType SelectionParagraphFormat
     * @blazorType SelectionParagraphFormat
     * @return {SelectionParagraphFormat}
     */
    readonly paragraphFormat: SelectionParagraphFormat;
    /**
     * Gets the instance of selection section format.
     * @default undefined
     * @aspType SelectionSectionFormat
     * @blazorType SelectionSectionFormat
     * @return {SelectionSectionFormat}
     */
    readonly sectionFormat: SelectionSectionFormat;
    /**
     * Gets the instance of selection table format.
     * @default undefined
     * @aspType SelectionTableFormat
     * @blazorType SelectionTableFormat
     * @return {SelectionTableFormat}
     */
    readonly tableFormat: SelectionTableFormat;
    /**
     * Gets the instance of selection cell format.
     * @default undefined
     * @aspType SelectionCellFormat
     * @blazorType SelectionCellFormat
     * @return {SelectionCellFormat}
     */
    readonly cellFormat: SelectionCellFormat;
    /**
     * Gets the instance of selection row format.
     * @default undefined
     * @aspType SelectionRowFormat
     * @blazorType SelectionRowFormat
     * @returns {SelectionRowFormat}
     */
    readonly rowFormat: SelectionRowFormat;
    /**
     * Gets the instance of selection image format.
     * @default undefined
     * @aspType SelectionImageFormat
     * @blazorType SelectionImageFormat
     * @returns {SelectionImageFormat}
     */
    readonly imageFormat: SelectionImageFormat;
    /**
     * Gets the start text position of selection range.
     * @private
     */
    /**
    * For internal use
    * @private
    */
    end: TextPosition;
    /**
     * Gets the page number where the selection ends.
     */
    readonly startPage: number;
    /**
     * Gets the page number where the selection ends.
     */
    readonly endPage: number;
    /**
     * Determines whether the selection direction is forward or not.
     * @default false
     * @returns {boolean}
     * @private
     */
    readonly isForward: boolean;
    /**
     * Determines whether the start and end positions are same or not.
     * @default false
     * @returns {boolean}
     * @private
     */
    readonly isEmpty: boolean;
    /**
     * Gets the text within selection.
     * @default ''
     * @aspType string
     * @blazorType string
     * @returns {string}
     */
    readonly text: string;
    /**
     * Gets the context type of the selection.
     */
    readonly contextType: ContextType;
    /**
     * @private
     */
    readonly isCleared: boolean;
    /**
     * @private
     */
    constructor(documentEditor: DocumentEditor);
    private getModuleName;
    /**
     * Moves the selection to the header of current page.
     */
    goToHeader(): void;
    /**
     * Moves the selection to the footer of current page.
     */
    goToFooter(): void;
    /**
     * Closes the header and footer region.
     */
    closeHeaderFooter(): void;
    /**
     * Moves the selection to the start of specified page number.
     */
    goToPage(pageNumber: number): void;
    /**
     * Selects the entire table if the context is within table.
     */
    selectTable(): void;
    /**
     * Selects the entire row if the context is within table.
     */
    selectRow(): void;
    /**
     * Selects the entire column if the context is within table.
     */
    selectColumn(): void;
    /**
     * Selects the entire cell if the context is within table.
     */
    selectCell(): void;
    /**
     * Select content based on selection settings
     */
    select(selectionSettings: SelectionSettings): void;
    /**
     * Toggles the bold property of selected contents.
     * @private
     */
    toggleBold(): void;
    /**
     * Toggles the italic property of selected contents.
     * @private
     */
    toggleItalic(): void;
    /**
     * Toggles the underline property of selected contents.
     * @param underline Default value of ‘underline’ parameter is Single.
     * @private
     */
    toggleUnderline(underline?: Underline): void;
    /**
     * Toggles the strike through property of selected contents.
     * @param {Strikethrough} strikethrough Default value of strikethrough parameter is SingleStrike.
     * @private
     */
    toggleStrikethrough(strikethrough?: Strikethrough): void;
    /**
     * Toggles the highlight color property of selected contents.
     * @param {HighlightColor} highlightColor Default value of ‘underline’ parameter is Yellow.
     * @private
     */
    toggleHighlightColor(highlightColor?: HighlightColor): void;
    /**
     * Toggles the subscript formatting of selected contents.
     * @private
     */
    toggleSubscript(): void;
    /**
     * Toggles the superscript formatting of selected contents.
     * @private
     */
    toggleSuperscript(): void;
    /**
     * Toggles the text alignment property of selected contents.
     * @param {TextAlignment} textAlignment Default value of ‘textAlignment parameter is TextAlignment.Left.
     * @private
     */
    toggleTextAlignment(textAlignment: TextAlignment): void;
    /**
     * Increases the left indent of selected paragraphs to a factor of 36 points.
     * @private
     */
    increaseIndent(): void;
    /**
     * Decreases the left indent of selected paragraphs to a factor of 36 points.
     * @private
     */
    decreaseIndent(): void;
    /**
     * Fires the `requestNavigate` event if current selection context is in hyperlink.
     */
    navigateHyperlink(): void;
    /**
     * Navigate Hyperlink
     * @param fieldBegin
     * @private
     */
    fireRequestNavigate(fieldBegin: FieldElementBox): void;
    /**
     * Copies the hyperlink URL if the context is within hyperlink.
     */
    copyHyperlink(): void;
    /**
     * @private
     */
    highlightSelection(isSelectionChanged: boolean): void;
    /**
     * @private
     */
    createHighlightBorder(lineWidget: LineWidget, width: number, left: number, top: number, isElementBoxHighlight: boolean): void;
    /**
     * @private
     */
    addEditRegionHighlight(lineWidget: LineWidget, left: number, width: number): SelectionWidgetInfo;
    /**
     * Create selection highlight inside table
     * @private
     */
    createHighlightBorderInsideTable(cellWidget: TableCellWidget): void;
    /**
     * @private
     */
    clipSelection(page: Page, pageTop: number): void;
    /**
     * Add selection highlight
     * @private
     */
    addSelectionHighlight(canvasContext: CanvasRenderingContext2D, widget: LineWidget, top: number): void;
    /**
     * @private
     */
    private renderDashLine;
    /**
     * Add Selection highlight inside table
     * @private
     */
    addSelectionHighlightTable(canvasContext: CanvasRenderingContext2D, tableCellWidget: TableCellWidget): void;
    /**
     * Remove Selection highlight
     * @private
     */
    removeSelectionHighlight(widget: IWidget): void;
    /**
     * Select Current word
     * @private
     */
    selectCurrentWord(): void;
    /**
     * Select current paragraph
     * @private
     */
    selectCurrentParagraph(): void;
    /**
     * Select current word range
     * @private
     */
    selectCurrentWordRange(startPosition: TextPosition, endPosition: TextPosition, excludeSpace: boolean): void;
    /**
     * Extend selection to paragraph start
     * @private
     */
    extendToParagraphStart(): void;
    /**
     * Extend selection to paragraph end
     * @private
     */
    extendToParagraphEnd(): void;
    /**
     * Move to next text position
     * @private
     */
    moveNextPosition(): void;
    /**
     * Move to next paragraph
     * @private
     */
    moveToNextParagraph(): void;
    /**
     * Move to previous text position
     * @private
     */
    movePreviousPosition(): void;
    /**
     * Move to previous paragraph
     * @private
     */
    moveToPreviousParagraph(): void;
    /**
     * Extend selection to previous line
     * @private
     */
    extendToPreviousLine(): void;
    /**
     * Extend selection to line end
     * @private
     */
    extendToLineEnd(): void;
    /**
     * Extend to line start
     * @private
     */
    extendToLineStart(): void;
    /**
     * @private
     */
    moveUp(): void;
    /**
     * @private
     */
    moveDown(): void;
    private updateForwardSelection;
    private updateBackwardSelection;
    /**
     * @private
     */
    getFirstBlockInFirstCell(table: TableWidget): BlockWidget;
    /**
     * @private
     */
    getFirstCellInRegion(row: TableRowWidget, startCell: TableCellWidget, selectionLength: number, isMovePrevious: boolean): TableCellWidget;
    /**
     * @private
     */
    getFirstParagraph(tableCell: TableCellWidget): ParagraphWidget;
    /**
     * Get last block in last cell
     * @private
     */
    getLastBlockInLastCell(table: TableWidget): BlockWidget;
    /**
     * Move to line start
     * @private
     */
    moveToLineStart(): void;
    /**
     * Move to line end
     * @private
     */
    moveToLineEnd(): void;
    /**
     * Get Page top
     * @private
     */
    getPageTop(page: Page): number;
    /**
     * Move text position to cursor point
     * @private
     */
    moveTextPosition(cursorPoint: Point, textPosition: TextPosition): void;
    /**
     * Get document start position
     * @private
     */
    getDocumentStart(): TextPosition;
    /**
     * Get document end position
     * @private
     */
    getDocumentEnd(): TextPosition;
    /**
     * @private
     * Handles control end key.
     */
    handleControlEndKey(): void;
    /**
     * @private
     * Handles control home key.
     */
    handleControlHomeKey(): void;
    /**
     * @private
     * Handles control left key.
     */
    handleControlLeftKey(): void;
    /**
     * @private
     * Handles control right key.
     */
    handleControlRightKey(): void;
    /**
     * Handles control down key.
     * @private
     */
    handleControlDownKey(): void;
    /**
     * Handles control up key.
     * @private
     */
    handleControlUpKey(): void;
    /**
     * @private
     * Handles shift left key.
     */
    handleShiftLeftKey(): void;
    /**
     * Handles shift up key.
     * @private
     */
    handleShiftUpKey(): void;
    /**
     * Handles shift right key.
     * @private
     */
    handleShiftRightKey(): void;
    /**
     * Handles shift down key.
     * @private
     */
    handleShiftDownKey(): void;
    /**
     * @private
     * Handles control shift left key.
     */
    handleControlShiftLeftKey(): void;
    /**
     * Handles control shift up key.
     * @private
     */
    handleControlShiftUpKey(): void;
    /**
     * Handles control shift right key
     * @private
     */
    handleControlShiftRightKey(): void;
    /**
     * Handles control shift down key.
     * @private
     */
    handleControlShiftDownKey(): void;
    /**
     * Handles left key.
     * @private
     */
    handleLeftKey(): void;
    /**
     * Handles up key.
     * @private
     */
    handleUpKey(): void;
    /**
     * Handles right key.
     * @private
     */
    handleRightKey(): void;
    /**
     * Handles end key.
     * @private
     */
    handleEndKey(): void;
    /**
     * Handles home key.
     * @private
     */
    handleHomeKey(): void;
    /**
     * Handles down key.
     * @private
     */
    handleDownKey(): void;
    /**
     * Handles shift end key.
     * @private
     */
    handleShiftEndKey(): void;
    /**
     * Handles shift home key.
     * @private
     */
    handleShiftHomeKey(): void;
    /**
     * Handles control shift end key.
     * @private
     */
    handleControlShiftEndKey(): void;
    /**
     * Handles control shift home key.
     * @private
     */
    handleControlShiftHomeKey(): void;
    /**
     * Handles tab key.
     * @param isNavigateInCell
     * @param isShiftTab
     * @private
     */
    handleTabKey(isNavigateInCell: boolean, isShiftTab: boolean): void;
    private selectPreviousCell;
    private selectNextCell;
    /**
     * Select given table cell
     * @private
     */
    selectTableCellInternal(tableCell: TableCellWidget, clearMultiSelection: boolean): void;
    /**
     * Select while table
     * @private
     */
    private selectTableInternal;
    /**
     * Select single column
     * @private
     */
    selectColumnInternal(): void;
    /**
     * Select single row
     * @private
     */
    selectTableRow(): void;
    /**
     * Select single cell
     * @private
     */
    selectTableCell(): void;
    /**
     * @private
     * Selects the entire document.
     */
    selectAll(): void;
    /**
     * Extend selection backward
     * @private
     */
    extendBackward(): void;
    /**
     * Extent selection forward
     * @private
     */
    extendForward(): void;
    /**
     * Extend selection to word start and end
     * @private
     */
    extendToWordStartEnd(): boolean;
    /**
     * Extend selection to word start
     * @private
     */
    extendToWordStart(isNavigation: boolean): void;
    /**
     * Extent selection to word end
     * @private
     */
    extendToWordEnd(isNavigation: boolean): void;
    /**
     * Extend selection to next line
     * @private
     */
    extendToNextLine(): void;
    private getTextPosition;
    /**
     * Get Selected text
     * @private
     */
    getText(includeObject: boolean): string;
    /**
     * Get selected text
     * @private
     */
    getTextInternal(start: TextPosition, end: TextPosition, includeObject: boolean): string;
    /**
     * @private
     */
    getListTextElementBox(paragarph: ParagraphWidget): ListTextElementBox;
    /**
     * @private
     */
    getTextInline(inlineElement: ElementBox, endParagraphWidget: ParagraphWidget, endInline: ElementBox, endIndex: number, includeObject: boolean): string;
    /**
     * Returns field code.
     * @private
     * @param fieldBegin
     */
    getFieldCode(fieldBegin: FieldElementBox): string;
    private getFieldCodeInternal;
    /**
     * @private
     */
    getTocFieldInternal(): FieldElementBox;
    /**
     * Get next paragraph in bodyWidget
     * @private
     */
    getNextParagraph(section: BodyWidget): ParagraphWidget;
    /**
     * @private
     */
    getPreviousParagraph(section: BodyWidget): ParagraphWidget;
    /**
     * Get first paragraph in cell
     * @private
     */
    getFirstParagraphInCell(cell: TableCellWidget): ParagraphWidget;
    /**
     * Get first paragraph in first cell
     * @private
     */
    getFirstParagraphInFirstCell(table: TableWidget): ParagraphWidget;
    /**
     * Get last paragraph in last cell
     * @private
     */
    getLastParagraphInLastCell(table: TableWidget): ParagraphWidget;
    /**
     * Get last paragraph in first row
     * @private
     */
    getLastParagraphInFirstRow(table: TableWidget): ParagraphWidget;
    /**
     * Get Next start inline
     * @private
     */
    getNextStartInline(line: LineWidget, offset: number): ElementBox;
    /**
     * Get previous text inline
     * @private
     */
    getPreviousTextInline(inline: ElementBox): ElementBox;
    /**
     * Get next text inline
     * @private
     */
    getNextTextInline(inline: ElementBox): ElementBox;
    /**
     * Get container table
     * @private
     */
    getContainerTable(block: BlockWidget): TableWidget;
    /**
     * @private
     */
    isExistBefore(start: BlockWidget, block: BlockWidget): boolean;
    /**
     * @private
     */
    isExistAfter(start: BlockWidget, block: BlockWidget): boolean;
    /**
     * Return true if current inline in exist before inline
     * @private
     */
    isExistBeforeInline(currentInline: ElementBox, inline: ElementBox): boolean;
    /**
     * Return true id current inline is exist after inline
     * @private
     */
    isExistAfterInline(currentInline: ElementBox, inline: ElementBox): boolean;
    /**
     * Get next rendered block
     * @private
     */
    getNextRenderedBlock(block: BlockWidget): BlockWidget;
    /**
     * Get next rendered block
     * @private
     */
    getPreviousRenderedBlock(block: BlockWidget): BlockWidget;
    /**
     * Get Next paragraph in block
     * @private
     */
    getNextParagraphBlock(block: BlockWidget): ParagraphWidget;
    /**
     * @private
     */
    getFirstBlockInNextHeaderFooter(block: BlockWidget): ParagraphWidget;
    /**
     * @private
     */
    getLastBlockInPreviousHeaderFooter(block: BlockWidget): ParagraphWidget;
    /**
     * Get previous paragraph in block
     * @private
     */
    getPreviousParagraphBlock(block: BlockWidget): ParagraphWidget;
    /**
     * Get first paragraph in block
     * @private
     */
    getFirstParagraphBlock(block: BlockWidget): ParagraphWidget;
    /**
     * Get last paragraph in block
     * @private
     */
    getLastParagraphBlock(block: BlockWidget): ParagraphWidget;
    /**
     * Return true if paragraph has valid inline
     * @private
     */
    hasValidInline(paragraph: ParagraphWidget, start: ElementBox, end: ElementBox): boolean;
    /**
     * Get paragraph length
     * @private
     */
    getParagraphLength(paragraph: ParagraphWidget, endLine?: LineWidget, elementInfo?: ElementInfo): number;
    /**
     * Get Line length
     * @private
     */
    getLineLength(line: LineWidget, elementInfo?: ElementInfo): number;
    /**
     * Get line information
     * @private
     */
    getLineInfo(paragraph: ParagraphWidget, offset: number): LineInfo;
    /**
     * @private
     */
    getElementInfo(line: LineWidget, offset: number): ElementInfo;
    /**
     * Get paragraph start offset
     * @private
     */
    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
     */
    highlight(paragraph: ParagraphWidget, start: TextPosition, end: TextPosition): void;
    private highlightNextBlock;
    /**
     * Get start line widget
     * @private
     */
    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[];
    /**
     * 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;
    /**
     * Get Caret height
     * @private
     */
    getCaretHeight(inline: ElementBox, index: number, format: WCharacterFormat, isEmptySelection: boolean, topMargin: number, isItalic: boolean): CaretHeightInfo;
    /**
     * Get field characters height
     * @private
     */
    getFieldCharacterHeight(startInline: FieldElementBox, format: WCharacterFormat, isEmptySelection: boolean, topMargin: number, isItalic: boolean): CaretHeightInfo;
    /**
     * 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;
    /**
     * highlight paragraph widget
     * @private
     */
    highlightParagraph(widget: ParagraphWidget, startIndex: number, endLine: LineWidget, endElement: ElementBox, endIndex: number): void;
    /**
     * 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;
    /**
     * 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;
    /**
     * @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
     */
    selectParagraph(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): void;
    /**
     * Retrieve all current selection format
     * @private
     */
    retrieveCurrentFormatProperties(): void;
    /**
     * @private
     */
    retrieveImageFormat(start: TextPosition, end: TextPosition): void;
    private setCurrentContextType;
    /**
     * 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): string;
    /**
     * Set Hyperlink content to tool tip element
     * @private
     */
    setHyperlinkContentToToolTip(fieldBegin: FieldElementBox, widget: LineWidget, xPos: number): void;
    /**
     * @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): FieldElementBox;
    /**
     * Return field if paragraph contain hyperlink field
     * @private
     */
    getHyperlinkField(): FieldElementBox;
    /**
     * @private
     */
    getHyperLinkFields(paragraph: ParagraphWidget, checkedFields: FieldElementBox[]): FieldElementBox;
    /**
     * @private
     */
    getHyperLinkFieldInternal(paragraph: Widget, inline: ElementBox, fields: FieldElementBox[]): 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, inline: ElementBox): 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;
    /**
     * @private
     */
    isTableSelected(): boolean;
    /**
     * Select List Text
     * @private
     */
    selectListText(): void;
    /**
     * Manually select the list text
     * @private
     */
    highlightListText(linewidget: LineWidget): void;
    /**
     * @private
     */
    updateImageSize(imageFormat: ImageFormat): void;
    /**
     * Gets selected table content
     * @private
     */
    private getSelectedCellsInTable;
    /**
     * Copies the selected content to clipboard.
     */
    copy(): void;
    /**
     * @private
     */
    copySelectedContent(isCut: boolean): void;
    /**
     * Copy content to clipboard
     * @private
     */
    copyToClipboard(htmlContent: string): boolean;
    /**
     * Shows caret in current selection position.
     * @private
     */
    showCaret(): void;
    /**
     * To set the editable div caret position
     * @private
     */
    setEditableDivCaretPosition(index: number): void;
    /**
     * Hides caret.
     * @private
     */
    hideCaret: () => void;
    /**
     * Initializes caret.
     * @private
     */
    initCaret(): void;
    /**
     * Updates caret position.
     * @private
     */
    updateCaretPosition(): void;
    /**
     * @private
     */
    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
     */
    updateCaretToPage(startPosition: TextPosition, endPage: Page): void;
    /**
     * Gets caret bottom position.
     * @private
     */
    getCaretBottom(textPosition: TextPosition, isEmptySelection: boolean): number;
    /**
     * Checks for cursor visibility.
     * @param isTouch
     * @private
     */
    checkForCursorVisibility(): void;
    /**
     * Keyboard shortcuts
     * @private
     */
    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): boolean;
    /**
     * @private
     */
    shiftBlockOnHeaderFooterEnableDisable(): void;
    /**
     * @private
     */
    updateTextPositionForBlockContainer(widget: BlockContainer): void;
    /**
     * Disable Header footer
     * @private
     */
    disableHeaderFooter(): void;
    /**
     * @private
     */
    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;
    /**
     * @private
     */
    getElementsForward(lineWidget: LineWidget, startElement: ElementBox, endElement: ElementBox, bidi: boolean): ElementBox[];
    /**
     * @private
     */
    getElementsBackward(lineWidget: LineWidget, startElement: ElementBox, endElement: ElementBox, bidi: boolean): ElementBox[];
    /**
     * @private
     */
    updateEditRangeCollection(): void;
    /**
     * @private
     */
    onHighlight(): void;
    /**
     * @private
     */
    highlightEditRegion(): void;
    /**
     * @private
     */
    unHighlightEditRegion(): void;
    /**
     * @private
     */
    highlightEditRegionInternal(editRangeStart: EditRangeStartElementBox): void;
    /**
     * @private
     */
    SelectAllEditRegion(): void;
    private highlightEditRegions;
    /**
     * @private
     */
    navigateNextEditRegion(): void;
    /**
     * @private
     */
    getEditRangeStartElement(): EditRangeStartElementBox;
    /**
     * @private
     */
    isSelectionIsAtEditRegion(update: boolean): boolean;
    checkSelectionIsAtEditRegion(): boolean;
    private getPosition;
}
/**
 *  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;
    private spellSuggestionInternal;
    /**
     * @private
     */
    errorWordCollection: Dictionary<string, ElementBox[]>;
    /**
     * @private
     */
    ignoreAllItems: string[];
    /**
     * @private
     */
    viewer: LayoutViewer;
    /**
     * @private
     */
    currentContextInfo: ContextElementInfo;
    private removeUnderlineInternal;
    private spellCheckSuggestion;
    /**
     * @private
     */
    errorSuggestions: Dictionary<string, string[]>;
    /**
     * Gets module name.
     */
    private getModuleName;
    /**
     * Gets the languageID.
     * @aspType int
     * @blazorType int
     */
    /**
    * Sets the languageID.
    * @aspType int
    * @blazorType int
    */
    languageID: number;
    /**
     * Getter indicates whether suggestion enabled.
     * @aspType bool
     * @blazorType bool
     */
    /**
    * Setter to enable or disable suggestion
    * @aspType bool
    * @blazorType bool
    */
    allowSpellCheckAndSuggestion: boolean;
    /**
     * Getter indicates whether underline removed for mis-spelled word.
     * @aspType bool
     * @blazorType bool
     */
    /**
    * Setter to enable or disable underline for mis-spelled word
    * @aspType bool
    * @blazorType bool
    */
    removeUnderline: boolean;
    /**
     *
     */
    constructor(viewer: LayoutViewer);
    /**
     * Method to manage replace logic
     * @private
     */
    manageReplace(content: string, dialogElement?: ElementBox): void;
    /**
     * Method to handle replace logic
     * @param {string} content
     * @private
     */
    handleReplace(content: string): void;
    /**
     * Method to retrieve exact element info
     * @param {ElementInfo} startInlineObj
     * @private
     */
    retrieveExactElementInfo(startInlineObj: ElementInfo): void;
    /**
     * Method to handle to ignore error Once
     * @param {ElementInfo} startInlineObj
     * @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
     * @param {string} exactText
     * @param {boolean} isRemove
     * @private
     */
    manageSpecialCharacters(exactText: string, replaceText: string, isRemove?: boolean): string;
    /**
     * Method to remove errors
     * @param {ContextElementInfo} contextItem
     * @private
     */
    removeErrorsFromCollection(contextItem: ContextElementInfo): void;
    /**
     * Method to retrieve exact text
     * @private
     */
    retriveText(): ContextElementInfo;
    /**
     * Method to handle suggestions
     * @param {any} jsonObject
     * @param {PointerEvent} event
     * @private
     */
    handleSuggestions(allsuggestions: any, event: PointerEvent): string[];
    /**
     * Method to check whether text element has errors
     * @param {string} text
     * @param {any} element
     * @param {number} left
     * @private
     */
    checktextElementHasErrors(text: string, element: any, left: number): ErrorInfo;
    /**
     * Method to update status for error elements
     * @param {ErrorTextElementBox[]} erroElements
     */
    private updateStatusForGlobalErrors;
    /**
     * Method to handle document error collection.
     * @param {string} errorInElement
     * @private
     */
    handleErrorCollection(errorInElement: TextElementBox): boolean;
    /**
     * Method to construct inline menu
     */
    private constructInlineMenu;
    /**
     * Method to retrieve error element text
     * @private
     */
    findCurretText(): ContextElementInfo;
    /**
     * Method to add error word in document error collection
     * @param text
     * @param element
     */
    private addErrorCollection;
    /**
     * Method to compare error text elements
     * @param {ErrorTextElementBox} errorElement
     * @param {ElementBox[]} errorCollection
     */
    private compareErrorTextElement;
    /**
     * Method to compare text elements
     * @param {TextElementBox} errorElement
     * @param {ElementBox[]} errorCollection
     * @private
     */
    compareTextElement(errorElement: TextElementBox, errorCollection: ElementBox[]): boolean;
    /**
     * Method to handle Word by word spell check
     * @param {any} jsonObject
     *  @param {TextElementBox} elementBox
     * @param {number} left
     * @param {number} top
     * @param {number} underlineY
     * @param {BaselineAlignment} baselineAlignment
     * @param {boolean} isSamePage
     * @private
     */
    handleWordByWordSpellCheck(jsonObject: any, elementBox: TextElementBox, left: number, top: number, underlineY: number, baselineAlignment: BaselineAlignment, isSamePage: boolean): void;
    /**
     * Method to check errors for combined elements
     * @param {TextElementBox} elementBox
     * @param {number} underlineY
     * @private
     */
    checkElementCanBeCombined(elementBox: TextElementBox, underlineY: number, beforeIndex: number, callSpellChecker: boolean): boolean;
    /**
     * 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;
    /**
     * Method to handle splitted and combined words for spell check.
     * @param {any} jsonObject
     * @param {string} currentText
     * @param {ElementBox} elementBox
     * @param {boolean} isSamePage
     * @private
     */
    handleSplitWordSpellCheck(jsonObject: any, currentText: string, elementBox: TextElementBox, isSamePage: boolean, underlineY: number, iteration: number, markIndex: number, isLastItem?: boolean): void;
    /**
     * Method to include matched results in element box and to render it
     * @param {TextSearchResults} results
     * @param {TextElementBox} elementBox
     * @param {number} wavyLineY
     * @param {number} index
     */
    private handleMatchedResults;
    /**
     * Calls the spell checker service
     * @param {number} languageID
     * @param {string} word
     * @param {boolean} checkSpellingAndSuggestion
     * @param {boolean} addWord
     * @private
     */
    CallSpellChecker(languageID: number, word: string, checkSpelling: boolean, checkSuggestion: boolean, addWord?: boolean): Promise<any>;
    /**
     * Method to check for next error
     * @private
     */
    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
     * @param {ElementBox} errorElement
     * @private
     */
    getMatchedResultsFromElement(errorElement: ElementBox, currentText?: string): MatchResults;
    /**
     * Method to update error element information
     * @param {string} error
     * @param {ErrorTextElementBox} errorElement
     * @private
     */
    updateErrorElementTextBox(error: string, errorElement: ErrorTextElementBox): void;
    /**
     * Method to retrieve space information in a text
     * @param {string} text
     * @param {WCharacterFormat} characterFormat
     * @private
     */
    getWhiteSpaceCharacterInfo(text: string, characterFormat: WCharacterFormat): SpaceCharacterInfo;
    /**
     * Retrieve Special character info
     * @param {string} text
     * @param {WCharacterFormat} characterFormat
     * @private
     */
    getSpecialCharactersInfo(text: string, characterFormat: WCharacterFormat): SpecialCharacterInfo;
    /**
     * Method to retrieve next available combined element
     * @param {ElementBox} element
     * @private
     */
    getCombinedElement(element: ElementBox): ElementBox;
    /**
     * Method to retrieve next available combined element
     * @param {ElementBox} element
     */
    private checkCombinedElementsBeIgnored;
    /**
     * Method to update error collection
     * @param {TextElementBox} currentElement
     * @param {TextElementBox} splittedElement
     * @private
     */
    updateSplittedElementError(currentElement: TextElementBox, splittedElement: TextElementBox): void;
    /**
     * @private
     */
    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 viewer;
    private value;
    /**
     * @private
     */
    allowLayout: boolean;
    /**
     * @private
     */
    isInitialLoad: boolean;
    private fieldBegin;
    private maxTextHeight;
    private maxBaseline;
    private maxTextBaseline;
    private isFieldCode;
    private isRTLLayout;
    /**
     * @private
     */
    isBidiReLayout: boolean;
    /**
     * @private
     */
    defaultTabWidthPixel: number;
    private isSameStyle;
    /**
     * viewer definition
     */
    constructor(viewer: LayoutViewer);
    /**
     * @private
     */
    layout(): void;
    /**
     * Releases un-managed and - optionally - managed resources.
     */
    destroy(): void;
    /**
     * Layouts the items
     * @private
     */
    layoutItems(sections: BodyWidget[]): void;
    /**
     * Layouts the items
     * @param section
     * @param viewer
     * @private
     */
    layoutSection(section: BodyWidget, index: number, viewer: LayoutViewer, ownerWidget?: Widget): void;
    /**
     * Layouts the header footer items
     * @param section
     * @param viewer
     * @private
     */
    layoutHeaderFooter(section: BodyWidget, viewer: PageLayoutViewer, page: Page): void;
    /**
     * @private
     */
    updateHeaderFooterToParent(node: HeaderFooterWidget): HeaderFooterWidget;
    private linkFieldInHeaderFooter;
    /**
     * @private
     */
    linkFieldInParagraph(widget: ParagraphWidget): void;
    /**
     * @private
     */
    linkFieldInTable(widget: TableWidget): void;
    /**
     * Layouts the header footer items.
     * @param viewer
     * @param hfModule
     * @private
     */
    layoutHeaderFooterItems(viewer: LayoutViewer, widget: HeaderFooterWidget): HeaderFooterWidget;
    /**
     * Shifts the child location
     * @param shiftTop
     * @param bodyWidget
     */
    private shiftChildLocation;
    /**
     * Shifts the child location for table widget.
     * @param tableWidget
     * @param shiftTop
     */
    private shiftChildLocationForTableWidget;
    /**
     * Shifts the child location for table row widget.
     * @param rowWidget
     * @param shiftTop
     */
    private shiftChildLocationForTableRowWidget;
    /**
     * Shifts the child location for table cell widget.
     * @param cellWidget
     * @param shiftTop
     */
    private shiftChildLocationForTableCellWidget;
    /**
     * Layouts specified block.
     * @param block
     * @private
     */
    layoutBlock(block: BlockWidget, index: number, moveToLine?: boolean): BlockWidget;
    /**
     * Adds paragraph widget.
     * @param area
     */
    private addParagraphWidget;
    /**
     * Adds line widget.
     * @param paragraph
     */
    private addLineWidget;
    private isFirstElementWithPageBreak;
    /**
     * Layouts specified paragraph.
     * @private
     * @param paragraph
     */
    layoutParagraph(paragraph: ParagraphWidget, lineIndex: number): BlockWidget;
    private clearLineMeasures;
    private moveElementFromNextLine;
    private layoutLine;
    private layoutElement;
    /**
     * Return true if paragraph has valid inline
     * @private
     */
    hasValidElement(paragraph: ParagraphWidget): boolean;
    private updateFieldText;
    private checkLineWidgetWithClientArea;
    private checkAndSplitTabOrLineBreakCharacter;
    /**
     * @private
     */
    moveFromNextPage(line: LineWidget): void;
    private cutClientWidth;
    private layoutFieldCharacters;
    /**
     * Layouts empty line widget.
     */
    private layoutEmptyLineWidget;
    /**
     * @private
     */
    layoutListItems(paragraph: ParagraphWidget): void;
    /**
     * Layouts list.
     * @param viewer
     */
    private layoutList;
    /**
     * Adds body widget.
     * @param area
     * @param section
     * @private
     */
    addBodyWidget(area: Rect, widget?: BodyWidget): BodyWidget;
    /**
     * Adds list level.
     * @param abstractList
     */
    private addListLevels;
    private addSplittedLineWidget;
    /**
     * Adds element to line.
     * @param element
     */
    private addElementToLine;
    /**
     * Splits element for client area.
     * @param element
     */
    private splitElementForClientArea;
    /**
     * Splits by word
     * @param elementBox
     * @param text
     * @param width
     * @param characterFormat
     */
    private splitByWord;
    /**
     * Method to include error collection on splitted element
     * @private
     * @param {ElementBox} elementBox
     * @param {ElementBox} splittedBox
     */
    splitErrorCollection(elementBox: TextElementBox, splittedBox: TextElementBox): void;
    /**
     * Splits by character.
     * @param textElement
     * @param text
     * @param width
     * @param characterFormat
     */
    private splitByCharacter;
    /**
     * Splits text element word by word.
     * @param textElement
     */
    private splitTextElementWordByWord;
    /**
     * Splits text for client area.
     * @param element
     * @param text
     * @param width
     * @param characterFormat
     */
    private splitTextForClientArea;
    /**
     * Handle tab or line break character splitting
     * @param  {LayoutViewer} viewer
     * @param  {TextElementBox} span
     * @param  {number} index
     * @param  {string} spiltBy
     * @private
     */
    splitByLineBreakOrTab(viewer: LayoutViewer, span: TextElementBox, index: number, spiltBy: string): void;
    /**
     * Moves to next line.
     */
    private moveToNextLine;
    private updateLineWidget;
    /**
     * @param viewer
     */
    private moveToNextPage;
    /**
     * Aligns line elements
     * @param element
     * @param topMargin
     * @param bottomMargin
     * @param maxDescent
     * @param addSubWidth
     * @param subWidth
     * @param textAlignment
     * @param whiteSpaceCount
     * @param isLastElement
     */
    private alignLineElements;
    /**
     * Updates widget to page.
     * @param viewer
     * @param block
     * @private
     */
    updateWidgetToPage(viewer: LayoutViewer, paragraphWidget: ParagraphWidget): void;
    /**
     * @private
     */
    shiftFooterChildLocation(widget: HeaderFooterWidget, viewer: LayoutViewer): void;
    /**
     * Checks previous element.
     * @param characterFormat
     */
    private checkPreviousElement;
    /**
     * @private
     */
    clearListElementBox(paragraph: ParagraphWidget): void;
    /**
     * Gets list number.
     * @param listFormat
     * @param document
     * @private
     */
    getListNumber(listFormat: WListFormat): string;
    /**
     * Gets list start value
     * @param listLevelNumber
     * @param list
     * @private
     */
    getListStartValue(listLevelNumber: number, list: WList): number;
    /**
     * Updates list values.
     * @param list
     * @param listLevelNumber
     * @param document
     */
    private updateListValues;
    /**
     * Gets list text
     * @param listAdv
     * @param listLevelNumber
     * @param currentListLevel
     * @param document
     */
    private getListText;
    /**
     * Gets the roman letter.
     * @param number
     * @private
     */
    getAsLetter(number: number): string;
    /**
     * Gets list text using list level pattern.
     * @param listLevel
     * @param listValue
     * @private
     */
    getListTextListLevel(listLevel: WListLevel, listValue: number): string;
    /**
     * Generate roman number for the specified number.
     * @param number
     * @param magnitude
     * @param letter
     */
    private generateNumber;
    /**
     * Gets list value prefixed with zero, if less than 10
     * @param listValue
     */
    private getAsLeadingZero;
    /**
     * Gets the roman number
     * @param number
     * @private
     */
    getAsRoman(number: number): string;
    /**
     * Gets the list level
     * @param list
     * @param listLevelNumber
     * @private
     */
    getListLevel(list: WList, listLevelNumber: number): WListLevel;
    /**
     * Gets tab width
     * @param paragraph
     * @param viewer
     */
    private getTabWidth;
    /**
     * Returns the right tab width
     * @param index - index of starting inline
     * @param lineWidget - current line widget
     * @param paragraph - current paragraph widget
     */
    private getRightTabWidth;
    /**
     * Gets split index by word.
     * @param clientActiveWidth
     * @param text
     * @param width
     * @param characterFormat
     */
    private getSplitIndexByWord;
    /**
     * Gets split index by character
     * @param totalClientWidth
     * @param clientActiveAreaWidth
     * @param text
     * @param width
     * @param characterFormat
     */
    private getTextSplitIndexByCharacter;
    /**
     * Gets sub width.
     * @param justify
     * @param spaceCount
     * @param firstLineIndent
     */
    private getSubWidth;
    /**
     * Gets before spacing.
     * @param paragraph
     * @private
     */
    getBeforeSpacing(paragraph: ParagraphWidget): number;
    getAfterSpacing(paragraph: ParagraphWidget): number;
    /**
     * Gets line spacing.
     * @param paragraph
     * @param maxHeight
     * @private
     */
    getLineSpacing(paragraph: ParagraphWidget, maxHeight: number): number;
    /**
     * Checks whether current line is first line in a paragraph.
     * @param paragraph
     */
    private isParagraphFirstLine;
    /**
     * Checks whether current line is last line in a paragraph.
     * @param paragraph
     */
    private isParagraphLastLine;
    /**
     * Gets text index after space.
     * @param text
     * @param startIndex
     */
    private getTextIndexAfterSpace;
    /**
     * @private
     */
    moveNextWidgetsToTable(tableWidget: TableWidget[], rowWidgets: TableRowWidget[], moveFromNext: boolean): void;
    /**
     * Adds table cell widget.
     * @param cell
     * @param area
     * @param maxCellMarginTop
     * @param maxCellMarginBottom
     */
    private addTableCellWidget;
    /**
     * Adds specified row widget to table.
     * @param viewer
     * @param tableRowWidget
     * @param row
     */
    private addWidgetToTable;
    /**
     * Updates row height by spanned cell.
     * @param tableWidget
     * @param rowWidget
     * @param insertIndex
     * @param row
     * @private
     */
    updateRowHeightBySpannedCell(tableWidget: TableWidget, row: TableRowWidget, insertIndex: number): void;
    /**
     * Updates row height.
     * @param prevRowWidget
     * @param rowWidget
     * @param row
     */
    private updateRowHeight;
    private updateSpannedRowCollection;
    /**
     * Updates row height by cell spacing
     * @param rowWidget
     * @param viewer
     * @param row
     */
    private updateRowHeightByCellSpacing;
    /**
     * Checks whether row span is end.
     * @param row
     * @param viewer
     */
    private isRowSpanEnd;
    /**
     * Checks whether vertical merged cell to continue or not.
     * @param row
     * @private
     */
    isVerticalMergedCellContinue(row: TableRowWidget): boolean;
    /**
     * Splits widgets.
     * @param tableRowWidget
     * @param viewer
     * @param splittedWidget
     * @param row
     */
    private splitWidgets;
    /**
     * Gets splitted widget for row.
     * @param bottom
     * @param tableRowWidget
     */
    private getSplittedWidgetForRow;
    /**
     * Updates widget to table.
     * @param row
     * @param viewer
     */
    updateWidgetsToTable(tableWidgets: TableWidget[], rowWidgets: TableRowWidget[], row: TableRowWidget): void;
    /**
     * Gets header.
     * @param table
     * @private
     */
    getHeader(table: TableWidget): TableRowWidget;
    /**
     * Gets header height.
     * @param ownerTable
     * @param row
     */
    private getHeaderHeight;
    /**
     * Updates widgets to row.
     * @param cell
     */
    private updateWidgetToRow;
    /**
     * Updates height for row widget.
     * @param viewer
     * @param isUpdateVerticalPosition
     * @param rowWidget
     */
    private updateHeightForRowWidget;
    /**
     * Updates height for cell widget.
     * @param viewer
     * @param cellWidget
     */
    private updateHeightForCellWidget;
    /**
     * Gets row height.
     * @param row
     * @private
     */
    getRowHeight(row: TableRowWidget, rowCollection: TableRowWidget[]): number;
    /**
     * splits spanned cell widget.
     * @param cellWidget
     * @param viewer
     */
    private splitSpannedCellWidget;
    /**
     * Inserts splitted cell widgets.
     * @param viewer
     * @param rowWidget
     */
    private insertSplittedCellWidgets;
    /**
     * Inserts spanned row widget.
     * @param rowWidget
     * @param viewer
     * @param left
     * @param index
     */
    private insertRowSpannedWidget;
    /**
     * Inserts empty splitted cell widgets.
     * @param rowWidget
     * @param left
     * @param index
     */
    private insertEmptySplittedCellWidget;
    /**
     * Gets spllited widget.
     * @param bottom
     * @param splitMinimalWidget
     * @param cellWidget
     */
    private getSplittedWidget;
    /**
     * Gets list level pattern
     * @param value
     * @private
     */
    getListLevelPattern(value: number): ListLevelPattern;
    /**
     * Creates cell widget.
     * @param cell
     */
    private createCellWidget;
    /**
     * Create Table Widget
     */
    private createTableWidget;
    /**
     * Gets splitted widget for paragraph.
     * @param bottom
     * @param paragraphWidget
     */
    private getSplittedWidgetForPara;
    /**
     * Gets splitted table widget.
     * @param bottom
     * @param tableWidget
     * @private
     */
    getSplittedWidgetForTable(bottom: number, tableCollection: TableWidget[], tableWidget: TableWidget): TableWidget;
    /**
     * Checks whether first line fits for paragraph or not.
     * @param bottom
     * @param paraWidget
     */
    private isFirstLineFitForPara;
    /**
     * Checks whether first line fits for table or not.
     * @param bottom
     * @param tableWidget
     * @private
     */
    isFirstLineFitForTable(bottom: number, tableWidget: TableWidget): boolean;
    /**
     * Checks whether first line fits for row or not.
     * @param bottom
     * @param rowWidget
     */
    private isFirstLineFitForRow;
    /**
     * Checks whether first line fits for cell or not.
     * @param bottom
     * @param cellWidget
     */
    private isFirstLineFitForCell;
    /**
     * Updates widget location.
     * @param widget
     * @param table
     */
    private updateWidgetLocation;
    /**
     * Updates child location for table.
     * @param top
     * @param tableWidget
     * @private
     */
    updateChildLocationForTable(top: number, tableWidget: TableWidget): void;
    /**
     * Updates child location for row.
     * @param top
     * @param rowWidget
     * @private
     */
    updateChildLocationForRow(top: number, rowWidget: TableRowWidget): void;
    /**
     * Updates child location for cell.
     * @param top
     * @param cellWidget
     */
    private updateChildLocationForCell;
    /**
     * Updates cell vertical position.
     * @param cellWidget
     * @param isUpdateToTop
     * @param isInsideTable
     * @private
     */
    updateCellVerticalPosition(cellWidget: TableCellWidget, isUpdateToTop: boolean, isInsideTable: boolean): void;
    /**
     * Updates cell content vertical position.
     * @param cellWidget
     * @param displacement
     * @param isUpdateToTop
     */
    private updateCellContentVerticalPosition;
    /**
     * Updates table widget location.
     * @param tableWidget
     * @param location
     * @param isUpdateToTop
     */
    private updateTableWidgetLocation;
    /**
     * Gets displacement.
     * @param cellWidget
     * @param isUpdateToTop
     */
    private getDisplacement;
    /**
     * Gets cell content height.
     * @param cellWidget
     */
    private getCellContentHeight;
    /**
     * Gets table left borders.
     * @param borders
     * @private
     */
    getTableLeftBorder(borders: WBorders): WBorder;
    /**
     * Gets table right border.
     * @param borders
     * @private
     */
    getTableRightBorder(borders: WBorders): WBorder;
    /**
     * Get table top border.
     * @param borders
     * @private
     */
    getTableTopBorder(borders: WBorders): WBorder;
    /**
     * Gets table bottom border.
     * @param borders
     * @private
     */
    getTableBottomBorder(borders: WBorders): WBorder;
    /**
     * Get diagonal cell up border.
     * @param tableCell
     * @private
     */
    getCellDiagonalUpBorder(tableCell: TableCellWidget): WBorder;
    /**
     * Gets diagonal cell down border
     * @param tableCell
     * @private
     */
    getCellDiagonalDownBorder(tableCell: TableCellWidget): WBorder;
    /**
     * Gets table width.
     * @param table
     * @private
     */
    getTableWidth(table: TableWidget): number;
    /**
     * @private
     */
    layoutNextItemsBlock(blockAdv: BlockWidget, viewer: LayoutViewer): void;
    /**
     * @private
     */
    updateClientAreaForLine(paragraph: ParagraphWidget, startLineWidget: LineWidget, elementIndex: number): void;
    /**
     * @private
     */
    getParentTable(block: BlockWidget): TableWidget;
    /**
     * @private
     */
    reLayoutParagraph(paragraphWidget: ParagraphWidget, lineIndex: number, elementBoxIndex: number, isBidi?: boolean): void;
    /**
     * @private
     */
    reLayoutTable(block: BlockWidget): void;
    /**
     * @private
     */
    clearTableWidget(table: TableWidget, clearPosition: boolean, clearHeight: boolean, clearGrid?: boolean): void;
    /**
     * @private
     */
    clearRowWidget(row: TableRowWidget, clearPosition: boolean, clearHeight: boolean, clearGrid: boolean): void;
    /**
     * @private
     */
    clearCellWidget(cell: TableCellWidget, clearPosition: boolean, clearHeight: boolean, clearGrid: boolean): void;
    /**
     * @param blockIndex
     * @param bodyWidget
     * @param block
     * @private
     */
    layoutBodyWidgetCollection(blockIndex: number, bodyWidget: Widget, block: BlockWidget, shiftNextWidget: boolean): void;
    private checkAndGetBlock;
    /**
     * Layouts table.
     * @param table
     * @private
     */
    layoutTable(table: TableWidget, startIndex: number): BlockWidget;
    /**
     * Adds table widget.
     * @param area
     * @param table
     * @private
     */
    addTableWidget(area: Rect, table: TableWidget[], create?: boolean): TableWidget;
    /**
     * Updates widget to page.
     * @param table
     * @private
     */
    updateWidgetsToPage(tables: TableWidget[], rows: TableRowWidget[], table: TableWidget, endRowWidget?: TableRowWidget): void;
    /**
     * Updates height for table widget.
     * @param viewer
     * @param tableWidget
     * @private
     */
    updateHeightForTableWidget(tables: TableWidget[], rows: TableRowWidget[], tableWidget: TableWidget, endRowWidget?: TableRowWidget): void;
    /**
     * Layouts table row.
     * @param row
     * @private
     */
    layoutRow(tableWidget: TableWidget[], row: TableRowWidget): TableRowWidget;
    /**
     * @param area
     * @param row
     */
    private addTableRowWidget;
    /**
     * Gets maximum top cell margin.
     * @param row
     * @param topOrBottom
     */
    private getMaxTopCellMargin;
    /**
     * Gets maximum bottom cell margin.
     * @param row
     * @param topOrBottom
     */
    private getMaxBottomCellMargin;
    /**
     * Layouts cell
     * @param cell
     * @param maxCellMarginTop
     * @param maxCellMarginBottom
     */
    private layoutCell;
    /**
     * @private
     */
    shiftLayoutedItems(): void;
    /**
     * @private
     */
    updateFieldElements(): void;
    private reLayoutOrShiftWidgets;
    private shiftWidgetsBlock;
    private shiftWidgetsForPara;
    /**
     * @private
     */
    shiftTableWidget(table: TableWidget, viewer: LayoutViewer): TableWidget;
    /**
     * @private
     */
    shiftRowWidget(tables: TableWidget[], row: TableRowWidget): TableRowWidget;
    /**
     * @private
     */
    shiftCellWidget(cell: TableCellWidget, maxCellMarginTop: number, maxCellMarginBottom: number): void;
    /**
     * @private
     */
    shiftParagraphWidget(paragraph: ParagraphWidget): void;
    private shiftWidgetsForTable;
    private updateVerticalPositionToTop;
    private splitWidget;
    private getMaxElementHeight;
    private createOrGetNextBodyWidget;
    private isFitInClientArea;
    private shiftToPreviousWidget;
    private updateParagraphWidgetInternal;
    private shiftNextWidgets;
    /**
     * @private
     */
    updateContainerWidget(widget: Widget, bodyWidget: BodyWidget, index: number, destroyAndScroll: boolean): void;
    private getBodyWidgetOfPreviousBlock;
    /**
     * @private
     */
    moveBlocksToNextPage(block: BlockWidget): BodyWidget;
    private createSplitBody;
    /**
     * Relayout Paragraph from specified line widget
     * @param paragraph Paragraph to reLayout
     * @param lineIndex start line index to reLayout
     * @private
     */
    reLayoutLine(paragraph: ParagraphWidget, lineIndex: number, isBidi: boolean): void;
    isContainsRtl(lineWidget: LineWidget): boolean;
    reArrangeElementsForRtl(line: LineWidget, isParaBidi: boolean): void;
}
//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;
    /**
     * @private
     */
    readonly right: number;
    /**
     * @private
     */
    readonly bottom: number;
    constructor(x: number, y: number, width: number, height: 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);
    /**
     * @private
     */
    clone(): Margin;
    /**
     * @private
     */
    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;
    /**
     * @private
     */
    readonly indexInOwner: number;
    /**
     * @private
     */
    readonly firstChild: IWidget;
    /**
     * @private
     */
    readonly lastChild: IWidget;
    /**
     * @private
     */
    readonly previousWidget: Widget;
    /**
     * @private
     */
    readonly nextWidget: Widget;
    /**
     * @private
     */
    readonly previousRenderedWidget: Widget;
    /**
     * @private
     */
    readonly nextRenderedWidget: Widget;
    /**
     * @private
     */
    readonly previousSplitWidget: Widget;
    /**
     * @private
     */
    readonly nextSplitWidget: Widget;
    /**
     * @private
     */
    abstract equals(widget: Widget): boolean;
    /**
     * @private
     */
    abstract getTableCellWidget(point: Point): TableCellWidget;
    /**
     * @private
     */
    getPreviousSplitWidgets(): Widget[];
    /**
     * @private
     */
    getSplitWidgets(): Widget[];
    /**
     * @private
     */
    combineWidget(viewer: LayoutViewer): Widget;
    private combine;
    /**
     * @private
     */
    addWidgets(childWidgets: IWidget[]): void;
    /**
     * @private
     */
    removeChild(index: number): void;
    /**
     * @private
     */
    abstract destroyInternal(viewer: LayoutViewer): void;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  abstract class BlockContainer extends Widget {
    /**
     * @private
     */
    page: Page;
    /**
     * @private
     */
    sectionFormatIn: WSectionFormat;
    /**
     * @private
     */
    /**
    * @private
    */
    sectionFormat: WSectionFormat;
    /**
     * @private
     */
    readonly sectionIndex: number;
    /**
     * @private
     */
    getHierarchicalIndex(hierarchicalIndex: string): string;
}
/**
 * @private
 */
export  class BodyWidget extends BlockContainer {
    /**
     * Initialize the constructor of BodyWidget
     */
    constructor();
    /**
     * @private
     */
    equals(widget: Widget): boolean;
    /**
     * @private
     */
    getHierarchicalIndex(hierarchicalIndex: string): string;
    /**
     * @private
     */
    getTableCellWidget(touchPoint: Point): TableCellWidget;
    /**
     * @private
     */
    destroyInternal(viewer: LayoutViewer): void;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export interface HeaderFooters {
    [key: number]: HeaderFooterWidget;
}
/**
 * @private
 */
export  class HeaderFooterWidget extends BlockContainer {
    /**
     * @private
     */
    headerFooterType: HeaderFooterType;
    /**
     * @private
     */
    isEmpty: boolean;
    constructor(type: HeaderFooterType);
    /**
     * @private
     */
    getTableCellWidget(point: Point): TableCellWidget;
    /**
     * @private
     */
    equals(widget: Widget): boolean;
    /**
     * @private
     */
    clone(): HeaderFooterWidget;
    /**
     * @private
     */
    destroyInternal(viewer: LayoutViewer): void;
}
/**
 * @private
 */
export  abstract class BlockWidget extends Widget {
    /**
     * @private
     */
    leftBorderWidth: number;
    /**
     * @private
     */
    rightBorderWidth: number;
    /**
     * @private
     */
    topBorderWidth: number;
    /**
     * @private
     */
    bottomBorderWidth: number;
    /**
     * @private
     */
    readonly bodyWidget: BlockContainer;
    /**
     * @private
     */
    readonly leftIndent: number;
    /**
     * @private
     */
    readonly rightIndent: number;
    /**
     * @private
     */
    readonly isInsideTable: boolean;
    /**
     * @private
     */
    readonly isInHeaderFooter: boolean;
    /**
     * @private
     */
    readonly associatedCell: TableCellWidget;
    /**
     * Check whether the paragraph contains only page break.
     * @private
     */
    isPageBreak(): boolean;
    /**
     * @private
     */
    getHierarchicalIndex(hierarchicalIndex: string): string;
    /**
     * @private
     */
    abstract getMinimumAndMaximumWordWidth(minimumWordWidth: number, maximumWordWidth: number): WidthInfo;
    /**
     * @private
     */
    abstract clone(): BlockWidget;
    /**
     * @private
     */
    getIndex(): number;
    /**
     * @private
     */
    getContainerWidth(): number;
    /**
     * @private
     */
    readonly bidi: boolean;
}
/**
 * @private
 */
export  class ParagraphWidget extends BlockWidget {
    /**
     * @private
     */
    paragraphFormat: WParagraphFormat;
    /**
     * @private
     */
    characterFormat: WCharacterFormat;
    /**
     * @private
     */
    isChangeDetected: boolean;
    /**
     * @private
     */
    readonly isEndsWithPageBreak: boolean;
    /**
     * Initialize the constructor of ParagraphWidget
     */
    constructor();
    /**
     * @private
     */
    equals(widget: Widget): boolean;
    /**
     * @private
     */
    isEmpty(): boolean;
    /**
     * @private
     */
    getInline(offset: number, indexInInline: number): ElementInfo;
    /**
     * @private
     */
    getLength(): number;
    /**
     * @private
     */
    getTableCellWidget(point: Point): TableCellWidget;
    /**
     * @private
     */
    getMinimumAndMaximumWordWidth(minimumWordWidth: number, maximumWordWidth: number): WidthInfo;
    private measureParagraph;
    /**
     * @private
     */
    clone(): ParagraphWidget;
    /**
     * @private
     */
    destroyInternal(viewer: LayoutViewer): void;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @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
     */
    /**
    * @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
     */
    getTableClientWidth(clientWidth: number): number;
    /**
     * @private
     */
    getCellWidth(preferredWidth: number, preferredWidthType: WidthType, containerWidth: number, cell: TableCellWidget): number;
    /**
     * @private
     */
    fitCellsToClientArea(clientWidth: number): void;
    /**
     * @private
     */
    getTableCellWidget(point: Point): TableCellWidget;
    /**
     * @private
     */
    calculateGrid(): 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): void;
    /**
     * @private
     */
    insertTableRowsInternal(tableRows: TableRowWidget[], startIndex: number): 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
     */
    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): void;
    /**
     * @private
     */
    getGridCount(tableGrid: number[], cell: TableCellWidget, index: number, containerWidth: number): number;
    private getOffsetIndex;
    private getCellOffset;
    /**
     * @private
     */
    updateRowBySpannedCells(): void;
    /**
     * @private
     */
    getPreviousRowSpannedCells(include?: boolean): TableCellWidget[];
    /**
     * @private
     */
    getTableCellWidget(point: Point): 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 clientArea
     * @param tableWidget
     * @param rowWidget
     * @private
     */
    shiftWidgetForRtlTable(clientArea: Rect, tableWidget: TableWidget, rowWidget: TableRowWidget): void;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class TableCellWidget extends BlockWidget {
    /**
     * @private
     */
    rowIndex: number;
    /**
     * @private
     */
    cellFormat: WCellFormat;
    /**
     * @private
     */
    columnIndex: number;
    private sizeInfoInternal;
    /**
     * @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
     */
    getTableCellWidget(point: Point): TableCellWidget;
    /**
     * @private
     */
    updateWidth(preferredWidth: number): void;
    /**
     * @private
     */
    getCellWidth(): number;
    /**
     * @private
     */
    convertPointToPercent(cellPreferredWidth: number): number;
    /**
     * @private
     */
    static getCellLeftBorder(tableCell: TableCellWidget): WBorder;
    /**
     * @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
     */
    getAdjacentCellRightBorder(rightBorder: WBorder, nextCell: TableCellWidget): WBorder;
    /**
     * @private
     */
    getRightBorderToRenderByHierarchy(rightBorder: WBorder, rowBorders: WBorders, tableBorders: WBorders): WBorder;
    /**
     * @private
     */
    static getCellTopBorder(tableCell: TableCellWidget): WBorder;
    /**
     * @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 convertHexToRGB;
    /**
     * @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
     */
    paragraph: ParagraphWidget;
    /**
     * @private
     */
    x: number;
    /**
     * @private
     */
    y: number;
    /**
     * @private
     */
    width: number;
    /**
     * @private
     */
    height: number;
    /**
     * @private
     */
    readonly indexInOwner: number;
    /**
     * @private
     */
    readonly nextLine: LineWidget;
    /**
     * @private
     */
    readonly previousLine: LineWidget;
    /**
     * @private
     */
    readonly isEndsWithPageBreak: 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
     */
    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
     */
    readonly isPageBreak: boolean;
    /**
     * @private
     */
    linkFieldCharacter(viewer: LayoutViewer): 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 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 fieldBeginInternal;
    private fieldSeparatorInternal;
    private fieldEndInternal;
    fieldBegin: FieldElementBox;
    fieldSeparator: FieldElementBox;
    fieldEnd: FieldElementBox;
    constructor(type: number);
    /**
     * @private
     */
    getLength(): number;
    /**
     * @private
     */
    clone(): FieldElementBox;
    /**
     * @private
     */
    destroy(): void;
}
/**
 * @private
 */
export  class TextElementBox extends ElementBox {
    /**
     * @private
     */
    baselineOffset: number;
    /**
     * @private
     */
    text: string;
    /**
     * @private
     */
    errorCollection?: ErrorTextElementBox[];
    /**
     * @private
     */
    ignoreOnceItems?: string[];
    /**
     * @private
     */
    istextCombined?: boolean;
    constructor();
    /**
     * @private
     */
    getLength(): number;
    /**
     * @private
     */
    clone(): TextElementBox;
    /**
     * @private
     */
    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 ImageElementBox extends ElementBox {
    private imageStr;
    private imgElement;
    private isInlineImageIn;
    /**
     * @private
     */
    isMetaFile: boolean;
    /**
     * @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
     */
    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;
    constructor();
    /**
     * @private
     */
    getLength(): number;
    /**
     * @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 Page {
    /**
     * Specifies the Viewer
     * @private
     */
    viewer: LayoutViewer;
    /**
     * Specifies the Bonding Rectangle
     * @private
     */
    boundingRectangle: Rect;
    /**
     * @private
     */
    repeatHeaderRowTableWidget: boolean;
    /**
     * Specifies the bodyWidgets
     * @default []
     * @private
     */
    bodyWidgets: BodyWidget[];
    /**
     * @private
     */
    headerWidget: HeaderFooterWidget;
    /**
     * @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();
    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): void;
    /**
     * @private
     */
    getTotalWidth(type: number): number;
    /**
     * @private
     */
    isFitColumns(containerWidth: number, preferredTableWidth: number, isAutoWidth: boolean): boolean;
    /**
     * @private
     */
    autoFitColumn(containerWidth: number, preferredTableWidth: number, isAuto: boolean, isNestedTable: boolean): void;
    /**
     * @private
     */
    fitColumns(containerWidth: number, preferredTableWidth: number, isAutoWidth: boolean, indent?: number): void;
    /**
     * @private
     */
    getCellWidth(columnIndex: number, columnSpan: number, preferredTableWidth: number): number;
    /**
     * @private
     */
    validateColumnWidths(): void;
    /**
     * @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
     */
    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 viewer;
    private pageIndex;
    private pageCanvasIn;
    private isFieldCode;
    private leftPosition;
    private topPosition;
    /**
     * Gets page canvas.
     * @private
     */
    readonly pageCanvas: HTMLCanvasElement;
    /**
     * Gets the spell checker
     * @private
     */
    readonly spellChecker: SpellChecker;
    /**
     * Gets selection canvas.
     */
    private readonly selectionCanvas;
    /**
     * Gets page context.
     */
    private readonly pageContext;
    /**
     * Gets selection context.
     */
    private readonly selectionContext;
    constructor(viewer: LayoutViewer);
    /**
     * Gets the color.
     * @private
     */
    getColor(color: string): string;
    /**
     * Renders widgets.
     * @param {Page} page
     * @param {number} left
     * @param {number} top
     * @param {number} width
     * @param {number} height
     * @private
     */
    renderWidgets(page: Page, left: number, top: number, width: number, height: number): void;
    /**
     * Sets page size.
     * @param {Page} page
     */
    private setPageSize;
    /**
     * Renders header footer widget.
     * @param {Page} page
     * @param {HeaderFooterWidget} headFootWidget
     */
    private renderHFWidgets;
    private renderHeaderSeparator;
    private getHeaderFooterType;
    /**
     * @private
     */
    renderDashLine(ctx: CanvasRenderingContext2D, x: number, y: number, width: number, fillStyle: string, isSmallDash: boolean): void;
    private renderHeaderFooterMark;
    private renderHeaderFooterMarkText;
    /**
     * Renders body widget.
     * @param {Page} page
     * @param {BodyWidget} bodyWidget
     */
    private render;
    /**
     * Renders block widget.
     * @param {Page} page
     * @param {Widget} widget
     */
    private renderWidget;
    /**
     * Renders header.
     * @param {Page} page
     * @param {TableWidget} widget
     * @param {WRow} header
     * @private
     */
    renderHeader(page: Page, widget: TableWidget, header: TableRowWidget): void;
    /**
     * Renders paragraph widget.
     * @param {Page} page
     * @param {ParagraphWidget} paraWidget
     */
    private renderParagraphWidget;
    /**
     * Renders table widget.
     * @param {Page} page
     * @param {TableWidget} tableWidget
     */
    private renderTableWidget;
    /**
     * Renders table row widget.
     * @param {Page} page
     * @param {Widget} rowWidget
     */
    private renderTableRowWidget;
    /**
     * Renders table cell widget.
     * @param {Page} page
     * @param {TableCellWidget} cellWidget
     */
    private renderTableCellWidget;
    /**
     * Renders line widget.
     * @param {LineWidget} lineWidget
     * @param {Page} page
     * @param {number} left
     * @param {number} top
     */
    private renderLine;
    private toSkipFieldCode;
    /**
     * Gets underline y position.
     * @param {LineWidget} lineWidget
     * @private
     */
    getUnderlineYPosition(lineWidget: LineWidget): number;
    /**
     * Renders list element box
     * @param {ListTextElementBox} elementBox
     * @param {number} left
     * @param {number} top
     * @param {number} underlineY
     */
    private renderListTextElementBox;
    /**
     * Renders text element box.
     * @param {TextElementBox} elementBox
     * @param {number} left
     * @param {number} top
     * @param {number} underlineY
     */
    private renderTextElementBox;
    /**
     * Method to handle spell check for modified or newly added elements
     * @param {TextElementBox} elementBox
     * @param {number} underlineY
     * @param {number} left
     * @param {number} top
     * @param {number} baselineAlignment
     */
    private handleChangeDetectedElements;
    /**
     * Method to handle spell check combine and splitted text elements
     * @param {string} currentText
     * @param {TextElementBox} elementBox
     * @param {number} underlineY
     * @param {number} iteration
     * @private
     */
    handleUnorderdElements(currentText: string, elementBox: TextElementBox, underlineY: number, iteration: number, markindex: number, isLastItem?: boolean, beforeIndex?: number): void;
    /**
     * Render Wavy Line
     * @param {ElementBox} elementBox
     * @param {number} left
     * @param {number} top
     * @param {number} underlineY
     * @param {string} color
     * @param {Underline} underline
     * @param {BaselineAlignment} baselineAlignment
     * @private
     */
    renderWavyline(elementBox: TextElementBox, left: number, top: number, underlineY: number, color: string, underline: Underline, baselineAlignment: BaselineAlignment, backgroundColor?: string): void;
    /**
     * Draw wavy line
     * @param {Point} from
     * @param {Point} to
     * @param {Number} frequency
     * @param {Number} amplitude
     * @param {Number} step
     * @param {string} color
     * @param {Number} negative
     * @private
     */
    drawWavy(from: Point, to: Point, frequency: number, amplitude: number, step: number, color: string, height: number, backColor: string, negative?: number): void;
    /**
     * Returns tab leader
     */
    private getTabLeader;
    /**
     * Returns tab leader string.
     */
    private getTabLeaderString;
    /**
     * Clips the rectangle with specified position.
     * @param {number} xPos
     * @param {number} yPos
     * @param {number} width
     * @param {number} height
     */
    private clipRect;
    /**
     * Renders underline.
     * @param {ElementBox} elementBox
     * @param {number} left
     * @param {number} top
     * @param {number} underlineY
     * @param {string} color
     * @param {Underline} underline
     * @param {BaselineAlignment} baselineAlignment
     */
    private renderUnderline;
    /**
     * Renders strike through.
     * @param {ElementBox} elementBox
     * @param {number} left
     * @param {number} top
     * @param {Strikethrough} strikethrough
     * @param {string} color
     * @param {BaselineAlignment} baselineAlignment
     */
    private renderStrikeThrough;
    /**
     * Renders image element box.
     * @param {ImageElementBox} elementBox
     * @param {number} left
     * @param {number} top
     * @param {number} underlineY
     */
    private renderImageElementBox;
    /**
     * Renders table outline.
     * @param {TableWidget} tableWidget
     */
    private renderTableOutline;
    /**
     * Renders table cell outline.
     * @param {LayoutViewer} viewer
     * @param {TableCellWidget} cellWidget
     */
    private renderTableCellOutline;
    /**
     * Renders cell background.
     * @param {number} height
     * @param {TableCellWidget} cellWidget
     */
    private renderCellBackground;
    /**
     * Renders single border.
     * @param {WBorder} border
     * @param {number} startX
     * @param {number} startY
     * @param {number} endX
     * @param {number} endY
     * @param {number} lineWidth
     */
    private renderSingleBorder;
    /**
     * Gets scaled value.
     * @param {number} value
     * @param {number} type
     * @private
     */
    getScaledValue(value: number, type?: number): number;
    /**
     * Destroys the internal objects which is maintained.
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/viewer/sfdt-reader.d.ts
/**
 * @private
 */
export  class SfdtReader {
    private viewer;
    private fieldSeparator;
    private isPageBreakInsideTable;
    private editableRanges;
    private readonly isPasting;
    constructor(viewer: LayoutViewer);
    /**
     * @private
     * @param json
     */
    convertJsonToDocument(json: string): BodyWidget[];
    private parseDocumentProtection;
    private parseStyles;
    parseStyle(data: any, style: any, styles: WStyles): void;
    private getStyle;
    private parseAbstractList;
    private parseListLevel;
    private parseList;
    private parseLevelOverride;
    private parseSections;
    /**
     * @private
     */
    parseHeaderFooter(data: any, headersFooters: any): HeaderFooters;
    private parseTextBody;
    parseBody(data: any, blocks: BlockWidget[], container?: Widget, isSectionBreak?: boolean): void;
    private parseTable;
    private parseRowGridValues;
    private parseParagraph;
    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;
    /**
     * @private
     */
    parseParagraphFormat(sourceFormat: any, paragraphFormat: WParagraphFormat): void;
    private parseListFormat;
    private parseSectionFormat;
    private parseTabStop;
    private validateImageUrl;
}
//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 TextHeightInfo {
    [key: string]: TextSizeInfo;
}
/**
 * @private
 */
export  class TextHelper {
    private owner;
    private context;
    private paragraphMarkInfo;
    private readonly paragraphMark;
    private readonly lineBreakMark;
    constructor(viewer: LayoutViewer);
    /**
     * @private
     */
    getParagraphMarkWidth(characterFormat: WCharacterFormat): number;
    /**
     * @private
     */
    getParagraphMarkSize(characterFormat: WCharacterFormat): TextSizeInfo;
    /**
     * @private
     */
    getTextSize(elementBox: TextElementBox, characterFormat: WCharacterFormat): number;
    /**
     * @private
     */
    getHeight(characterFormat: WCharacterFormat): TextSizeInfo;
    /**
     * @private
     */
    getFormatText(characterFormat: WCharacterFormat): string;
    /**
     * @private
     */
    getHeightInternal(characterFormat: WCharacterFormat): TextSizeInfo;
    /**
     * @private
     */
    measureTextExcludingSpaceAtEnd(text: string, characterFormat: WCharacterFormat): number;
    /**
     * @private
     */
    getWidth(text: string, characterFormat: WCharacterFormat): number;
    setText(textToRender: string, isBidi: boolean, bdo: BiDirectionalOverride, isRender?: boolean): string;
    /**
     * @private
     */
    applyStyle(spanElement: HTMLSpanElement, characterFormat: WCharacterFormat): void;
    /**
     * @private
     */
    measureText(text: string, characterFormat: WCharacterFormat): TextSizeInfo;
    /**
     * @private
     */
    updateTextSize(elementBox: ListTextElementBox, paragraph: ParagraphWidget): void;
    /**
     * @private
     */
    isRTLText(text: string): boolean;
    /**
     * @private
     */
    getRtlLanguage(text: string): RtlInfo;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/viewer/viewer.d.ts
/**
 * @private
 */
export  abstract class LayoutViewer {
    /**
     * @private
     */
    owner: DocumentEditor;
    private visibleBoundsIn;
    /**
     * @private
     */
    pageContainer: HTMLElement;
    /**
     * @private
     */
    viewerContainer: HTMLElement;
    /**
     * @private
     */
    optionsPaneContainer: HTMLElement;
    /**
     * @private
     */
    pages: Page[];
    /**
     * @private
     */
    clientActiveArea: Rect;
    /**
     * @private
     */
    clientArea: Rect;
    /**
     * @private
     */
    textWrap: boolean;
    /**
     * @private
     */
    currentPage: Page;
    private selectionStartPageIn;
    private selectionEndPageIn;
    /**
     * @private
     */
    iframe: HTMLIFrameElement;
    /**
     * @private
     */
    editableDiv: HTMLElement;
    /**
     * @private
     */
    fieldStacks: FieldElementBox[];
    /**
     * @private
     */
    splittedCellWidgets: TableCellWidget[];
    /**
     * @private
     */
    tableLefts: number[];
    private tapCount;
    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
     */
    containerTop: number;
    /**
     * @private
     */
    containerLeft: number;
    private containerCanvasIn;
    private selectionCanvasIn;
    /**
     * @private
     */
    zoomModule: Zoom;
    /**
     * @private
     */
    isMouseDown: boolean;
    /**
     * @private
     */
    isSelectionChangedOnMouseMoved: boolean;
    /**
     * @private
     */
    isControlPressed: boolean;
    /**
     * @private
     */
    touchStart: HTMLElement;
    /**
     * @private
     */
    touchEnd: HTMLElement;
    /**
     * @private
     */
    isTouchInput: 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 dialogTarget;
    private dialogInternal2;
    /**
     * @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
     */
    headersFooters: HeaderFooters[];
    private fieldSeparator;
    /**
     * @private
     */
    defaultTabWidth: number;
    /**
     * @private
     */
    lists: WList[];
    /**
     * @private
     */
    abstractLists: WAbstractList[];
    /**
     * @private
     */
    styles: WStyles;
    /**
     * @private
     */
    listParagraphs: ParagraphWidget[];
    /**
     * @private
     */
    preDefinedStyles: Dictionary<string, string>;
    /**
     * @private
     */
    isRowOrCellResizing: boolean;
    /**
     * @private
     */
    bookmarks: Dictionary<string, BookmarkElementBox>;
    /**
     * @private
     */
    editRanges: Dictionary<string, EditRangeStartElementBox[]>;
    private isMouseDownInFooterRegion;
    private pageFitTypeIn;
    /**
     * @private
     */
    fieldCollection: FieldElementBox[];
    /**
     * @private
     */
    isPageField: boolean;
    /**
     * @private
     */
    mouseDownOffset: Point;
    /**
     * @private
     */
    protected zoomX: number;
    /**
     * @private
     */
    protected 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;
    /**
     * @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;
    /**
     * Gets container canvas.
     * @private
     */
    readonly containerCanvas: HTMLCanvasElement;
    /**
     * Gets selection canvas.
     * @private
     */
    readonly selectionCanvas: HTMLCanvasElement;
    /**
     * Gets container context.
     * @private
     */
    readonly containerContext: CanvasRenderingContext2D;
    /**
     * Gets selection context.
     * @private
     */
    readonly selectionContext: CanvasRenderingContext2D;
    /**
     * Gets the current rendering page.
     */
    readonly currentRenderingPage: Page;
    /**
     * Gets visible bounds.
     * @private
     */
    readonly visibleBounds: Rect;
    /**
     * Gets or sets zoom factor.
     * @private
     */
    zoomFactor: number;
    /**
     * Gets the selection.
     * @private
     */
    readonly selection: Selection;
    /**
     * Gets or sets selection start page.
     * @private
     */
    selectionStartPage: Page;
    /**
     * Gets or sets selection end page.
     * @private
     */
    selectionEndPage: Page;
    /**
     * Gets the initialized default dialog.
     * @private
     */
    readonly dialog: popups.Dialog;
    /**
     * Gets the initialized default dialog.
     * @private
     */
    readonly dialog2: popups.Dialog;
    /**
     * Gets or sets page fit type.
     * @private
     */
    pageFitType: PageFitType;
    constructor(owner: DocumentEditor);
    private initalizeStyles;
    /**
     * @private
     */
    clearDocumentItems(): void;
    /**
     * @private
     */
    setDefaultDocumentFormat(): void;
    private setDefaultCharacterValue;
    private setDefaultParagraphValue;
    /**
     * @private
     */
    getAbstractListById(id: number): WAbstractList;
    /**
     * @private
     */
    getListById(id: number): WList;
    /**
     * @private
     */
    static getListLevelNumber(listLevel: WListLevel): number;
    /**
     * Gets the bookmarks.
     * @private
     */
    getBookmarks(includeHidden?: boolean): string[];
    /**
     * Initializes components.
     * @private
     */
    initializeComponents(): void;
    /**
     * @private
     */
    private createEditableDiv;
    /**
     * @private
     */
    private createEditableIFrame;
    /**
     * Wires events and methods.
     */
    private wireEvent;
    /**
     * @private
     */
    private onTextInput;
    /**
     * Fires when composition starts.
     * @private
     */
    private compositionStart;
    /**
     * Fires on every input during composition.
     * @private
     */
    private compositionUpdated;
    /**
     * Fires when user selects a character/word and finalizes the input.
     * @private
     */
    private compositionEnd;
    private getEditableDivTextContent;
    /**
     * @private
     */
    positionEditableTarget(): void;
    private onImageResizer;
    private onKeyPressInternal;
    private onTextInputInternal;
    /**
     * Fired on paste.
     * @param {ClipboardEvent} event
     * @private
     */
    onPaste: (event: ClipboardEvent) => void;
    /**
     * Initializes dialog template.
     */
    private initDialog;
    /**
     * Initializes dialog template.
     */
    private initDialog2;
    /**
     * Fires when editable div loses focus.
     * @private
     */
    onFocusOut: () => void;
    /**
     * Updates focus to editor area.
     * @private
     */
    updateFocus: () => void;
    /**
     * Clears the context.
     * @private
     */
    clearContent(): void;
    /**
     * Fired when the document gets changed.
     * @param {WordDocument} document
     */
    onDocumentChanged(sections: BodyWidget[]): void;
    /**
     * Fires on scrolling.
     */
    private scrollHandler;
    /**
     * Fires when the window gets resized.
     * @private
     */
    onWindowResize: () => void;
    /**
     * @private
     */
    onContextMenu: (event: PointerEvent) => void;
    /**
     * Initialize touch ellipse.
     */
    private initTouchEllipse;
    /**
     * Updates touch mark position.
     * @private
     */
    updateTouchMarkPosition(): void;
    /**
     * Called on mouse down.
     * @param {MouseEvent} event
     * @private
     */
    onMouseDownInternal: (event: MouseEvent) => void;
    /**
     * Called on mouse move.
     * @param {MouseEvent} event
     * @private
     */
    onMouseMoveInternal: (event: MouseEvent) => void;
    /**
     * Fired on double tap.
     * @param {MouseEvent} event
     * @private
     */
    onDoubleTap: (event: MouseEvent) => void;
    /**
     * Called on mouse up.
     * @param {MouseEvent} event
     * @private
     */
    onMouseUpInternal: (event: MouseEvent) => void;
    private isSelectionInListText;
    /**
     * Check whether touch point is inside the rectangle or not.
     * @param x
     * @param y
     * @param width
     * @param height
     * @param touchPoint
     * @private
     */
    isInsideRect(x: number, y: number, width: number, height: number, touchPoint: Point): boolean;
    /**
     * @private
     */
    getLeftValue(widget: LineWidget): number;
    /**
     * Checks whether left mouse button is pressed or not.
     */
    private isLeftButtonPressed;
    /**
     * Fired on touch start.
     * @param {TouchEvent} event
     * @private
     */
    onTouchStartInternal: (event: Event) => void;
    /**
     * Fired on touch move.
     * @param {TouchEvent} event
     * @private
     */
    onTouchMoveInternal: (event: TouchEvent) => void;
    /**
     * Fired on touch up.
     * @param {TouchEvent} event
     * @private
     */
    onTouchUpInternal: (event: TouchEvent) => void;
    /**
     * Gets touch offset value.
     */
    private getTouchOffsetValue;
    /**
     * Fired on pinch zoom in.
     * @param {TouchEvent} event
     */
    private onPinchInInternal;
    /**
     * Fired on pinch zoom out.
     * @param {TouchEvent} event
     */
    private onPinchOutInternal;
    /**
     * Gets page width.
     * @private
     */
    getPageWidth(page: Page): number;
    /**
     * Removes specified page.
     * @private
     */
    removePage(page: Page): void;
    /**
     * Updates viewer size on window resize.
     * @private
     */
    updateViewerSize(): void;
    /**
     * Updates viewer size.
     */
    private updateViewerSizeInternal;
    /**
     * Updates client area for block.
     * @private
     */
    updateClientAreaForBlock(block: BlockWidget, beforeLayout: boolean, tableCollection?: TableWidget[]): void;
    private tableAlignmentForBidi;
    /**
     * Updates client active area left.
     * @private
     */
    cutFromLeft(x: number): void;
    /**
     * Updates client active area top.
     * @private
     */
    cutFromTop(y: number): void;
    /**
     * Updates client width.
     * @private
     */
    updateClientWidth(width: number): void;
    /**
     * Inserts page in specified index.
     * @private
     */
    insertPage(index: number, page: Page): void;
    /**
     * Updates client area.
     * @private
     */
    updateClientArea(sectionFormat: WSectionFormat, page: Page): void;
    /**
     * Updates client area left or top position.
     * @private
     */
    updateClientAreaTopOrLeft(tableWidget: TableWidget, beforeLayout: boolean): void;
    /**
     * Updates client area for table.
     * @private
     */
    updateClientAreaForTable(tableWidget: TableWidget): void;
    /**
     * Updates client area for row.
     * @private
     */
    updateClientAreaForRow(row: TableRowWidget, beforeLayout: boolean): void;
    /**
     * Updates client area for cell.
     * @private
     */
    updateClientAreaForCell(cell: TableCellWidget, beforeLayout: boolean): void;
    /**
     * Updates the client area based on widget.
     * @private
     */
    updateClientAreaByWidget(widget: ParagraphWidget): void;
    /**
     * Updates client area location.
     * @param widget
     * @param area
     * @private
     */
    updateClientAreaLocation(widget: Widget, area: Rect): void;
    /**
     * Updates text position for selection.
     * @param cursorPoint
     * @param tapCount
     * @param clearMultiSelection
     * @private
     */
    updateTextPositionForSelection(cursorPoint: Point, tapCount: number): void;
    /**
     * Scrolls to specified position.
     * @param startPosition
     * @param endPosition
     * @private
     */
    scrollToPosition(startPosition: TextPosition, endPosition: TextPosition): void;
    /**
     * Gets line widget using cursor point.
     * @private
     */
    getLineWidget(cursorPoint: Point): LineWidget;
    /**
     * Gets line widget.
     * @private
     */
    getLineWidgetInternal(cursorPoint: Point, isMouseDragged: boolean): LineWidget;
    /**
     * @private
     */
    isBlockInHeader(block: Widget): boolean;
    /**
     * Clears selection highlight.
     * @private
     */
    clearSelectionHighlight(): void;
    /**
     * Fired on keyup event.
     * @private
     */
    onKeyUpInternal: (event: KeyboardEvent) => void;
    /**
     * Fired on keydown.
     * @private
     */
    onKeyDownInternal: (event: KeyboardEvent) => void;
    /**
     * @private
     */
    removeEmptyPages(): void;
    /**
     * @private
     */
    scrollToBottom(): void;
    /**
     * Returns the field code result.
     * @private
     */
    getFieldResult(fieldBegin: FieldElementBox, page: Page): string;
    /**
     * Returns field text.
     */
    private getFieldText;
    /**
     * Destroys the internal objects maintained for control.
     */
    destroy(): void;
    /**
     * Un-Wires events and methods
     */
    private unWireEvent;
    /**
     * @private
     */
    abstract createNewPage(section: BodyWidget, index?: number): Page;
    /**
     * @private
     */
    abstract renderVisiblePages(): void;
    /**
     * @private
     */
    abstract updateScrollBars(): void;
    /**
     * private
     */
    abstract scrollToPage(pageIndex: number): void;
    protected abstract updateCursor(event: MouseEvent): void;
    /**
     * @private
     */
    abstract findFocusedPage(point: Point, updateCurrentPage: boolean): Point;
    /**
     * @private
     */
    abstract onPageFitTypeChanged(pageFitType: PageFitType): void;
}
/**
 * @private
 */
export  class PageLayoutViewer extends LayoutViewer {
    private pageLeft;
    /**
     * @private
     */
    readonly pageGap: number;
    /**
     * @private
     */
    visiblePages: Page[];
    /**
     * Initialize the constructor of PageLayoutViewer
     */
    constructor(owner: DocumentEditor);
    /**
     * Creates new page.
     * @private
     */
    createNewPage(section: BodyWidget, index?: number): Page;
    /**
     * Updates cursor.
     */
    protected updateCursor(event: MouseEvent): void;
    /**
     * Finds focused page.
     * @private
     */
    findFocusedPage(currentPoint: Point, updateCurrentPage: boolean): Point;
    /**
     * Fired when page fit type changed.
     * @private
     */
    onPageFitTypeChanged(pageFitType: PageFitType): void;
    /**
     * @private
     */
    handleZoom(): void;
    /**
     * Gets current page header footer.
     * @private
     */
    getCurrentPageHeaderFooter(section: BodyWidget, isHeader: boolean): HeaderFooterWidget;
    /**
     * Get header footer type
     * @private
     */
    getHeaderFooterType(section: BodyWidget, isHeader: boolean): HeaderFooterType;
    /**
     * Gets current header footer.
     * @param type
     * @param section
     * @private
     */
    getCurrentHeaderFooter(type: HeaderFooterType, sectionIndex: number): HeaderFooterWidget;
    private createHeaderFooterWidget;
    /**
     * Gets header footer.
     * @param type
     * @private
     */
    getHeaderFooter(type: HeaderFooterType): number;
    /**
     * Updates header footer client area.
     * @private
     */
    updateHFClientArea(sectionFormat: WSectionFormat, isHeader: boolean): void;
    /**
     * @private
     */
    updateHCFClientAreaWithTop(sectionFormat: WSectionFormat, isHeader: boolean, page: Page): void;
    /**
     * Scrolls to the specified page
     * @private
     */
    scrollToPage(pageIndex: number): void;
    /**
     * Updates scroll bars.
     * @private
     */
    updateScrollBars(): void;
    updateScrollBarPosition(containerWidth: number, containerHeight: number, viewerWidth: number, viewerHeight: number, width: number, height: number): void;
    /**
     * Updates visible pages.
     * @private
     */
    updateVisiblePages(): void;
    /**
     * Adds visible pages.
     */
    private addVisiblePage;
    /**
     * Render specified page widgets.
     */
    private renderPage;
    /**
     * Renders visible pages.
     * @private
     */
    renderVisiblePages(): void;
}
//node_modules/@syncfusion/ej2-documenteditor/src/document-editor/implementation/viewer/zooming.d.ts
/**
 * @private
 */
export  class Zoom {
    private viewer;
    setZoomFactor(value: number): void;
    constructor(viewer: LayoutViewer);
    private onZoomFactorChanged;
    private zoom;
    onMouseWheelInternal: (event: WheelEvent) => 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
     */
    fieldCheck: number;
    /**
     * @private
     */
    writeHtml(document: any): string;
    /**
     * @private
     */
    serializeSection(section: any): string;
    /**
     * @private
     */
    serializeParagraph(paragraph: any): string;
    /**
     * @private
     */
    serializeInlines(paragraph: any, blockStyle: string): string;
    /**
     * @private
     */
    serializeSpan(spanText: string, characterFormat: WCharacterFormat): string;
    /**
     * @private
     */
    serializeImageContainer(image: any): string;
    /**
     * @private
     */
    serializeCell(cell: any): string;
    /**
     * @private
     */
    serializeTable(table: any): string;
    /**
     * @private
     */
    serializeRow(row: any): string;
    /**
     * @private
     */
    serializeParagraphStyle(paragraph: any, className: string, isList: boolean): string;
    /**
     * @private
     */
    serializeInlineStyle(characterFormat: WCharacterFormat, className: string): string;
    /**
     * @private
     */
    serializeTableBorderStyle(borders: any): string;
    /**
     * @private
     */
    serializeCellBordersStyle(borders: any): string;
    /**
     * @private
     */
    serializeBorderStyle(border: any, borderPosition: string): string;
    /**
     * @private
     */
    convertBorderLineStyle(lineStyle: LineStyle): string;
    /**
     * @private
     */
    serializeCharacterFormat(characterFormat: any): string;
    /**
     * @private
     */
    serializeParagraphFormat(paragraphFormat: any, isList: boolean): string;
    /**
     * @private
     */
    createAttributesTag(tagValue: string, localProperties: string[]): string;
    /**
     * @private
     */
    createTag(tagValue: string): string;
    /**
     * @private
     */
    endTag(tagValue: string): string;
    /**
     * @private
     */
    createTableStartTag(table: any): string;
    /**
     * @private
     */
    createTableEndTag(): string;
    /**
     * @private
     */
    createRowStartTag(row: any): string;
    /**
     * @private
     */
    createRowEndTag(row: any): string;
    /**
     * @private
     */
    decodeHtmlNames(text: string): string;
}
//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 endLine;
    private endOffset;
    private endCell;
    private startColumnIndex;
    private endColumnIndex;
    private lists;
    private viewer;
    private document;
    private writeInlineStyles;
    private editRangeId;
    /**
     * @private
     */
    constructor(owner: LayoutViewer);
    private getModuleName;
    private clear;
    /**
     * Serialize the data as Syncfusion document text.
     * @private
     */
    serialize(): string;
    /**
     * @private
     */
    saveAsBlob(viewer: LayoutViewer): Promise<Blob>;
    private updateEditRangeId;
    /**
     * @private
     */
    write(line?: LineWidget, startOffset?: number, endLine?: LineWidget, endOffset?: number, writeInlineStyles?: boolean): any;
    private writeBodyWidget;
    private writeHeaderFooters;
    private writeHeaderFooter;
    private createSection;
    private writeBlock;
    private writeParagraph;
    private writeInlines;
    private writeInline;
    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 createParagraph;
    /**
     * @private
     */
    writeCharacterFormat(format: WCharacterFormat, isInline?: boolean): any;
    private writeParagraphFormat;
    private writeTabs;
    /**
     * @private
     */
    writeListFormat(format: WListFormat, isInline?: boolean): any;
    private writeTable;
    private writeRow;
    private writeCell;
    private createTable;
    private createRow;
    private createCell;
    private writeShading;
    private writeBorder;
    private writeBorders;
    private writeCellFormat;
    private writeRowFormat;
    private writeTableFormat;
    private writeStyles;
    private writeStyle;
    private writeLists;
    private writeAbstractList;
    private writeList;
    private writeListLevel;
    /**
     * @private
     */
    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 text;
    private curSectionIndex;
    private sections;
    private document;
    private lastPara;
    private mSections;
    private inField;
    /**
     * @private
     */
    save(viewer: LayoutViewer, fileName: string): void;
    /**
     * @private
     */
    saveAsBlob(viewer: LayoutViewer): Promise<Blob>;
    private serialize;
    private setDocument;
    private writeInternal;
    private writeBody;
    private writeParagraph;
    private writeTable;
    private writeHeadersFooters;
    private writeHeaderFooter;
    private writeSectionEnd;
    private writeNewLine;
    private writeText;
    private updateLastParagraph;
    /**
     * @private
     */
    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 documentPath;
    private stylePath;
    private chartPath;
    private numberingPath;
    private settingsPath;
    private headerPath;
    private footerPath;
    private imagePath;
    private appPath;
    private corePath;
    private contentTypesPath;
    private defaultEmbeddingPath;
    private generalRelationPath;
    private wordRelationPath;
    private excelRelationPath;
    private headerRelationPath;
    private footerRelationPath;
    private xmlContentType;
    private fontContentType;
    private documentContentType;
    private settingsContentType;
    private footerContentType;
    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 settingsRelType;
    private footerRelType;
    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 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 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 section;
    private lastSection;
    private blockOwner;
    private paragraph;
    private table;
    private row;
    private headerFooter;
    private document;
    private mSections;
    private mLists;
    private mAbstractLists;
    private mStyles;
    private defCharacterFormat;
    private defParagraphFormat;
    private defaultTabWidthValue;
    private mRelationShipID;
    private cRelationShipId;
    private eRelationShipId;
    private mDocPrID;
    private chartCount;
    private seriesCount;
    private chartStringCount;
    private chart;
    private mDifferentFirstPage;
    private mHeaderFooterColl;
    private mVerticalMerge;
    private mGridSpans;
    private mDocumentImages;
    private mDocumentCharts;
    private mExternalLinkImages;
    private mHeaderFooterImages;
    private mArchive;
    private mArchiveExcel;
    private mBookmarks;
    private formatting;
    private enforcement;
    private hashValue;
    private saltValue;
    private protectionType;
    private fileName;
    private spanCellFormat;
    private readonly bookmarks;
    private readonly documentImages;
    private readonly externalImages;
    private readonly headerFooterImages;
    private readonly documentCharts;
    private readonly headersFooters;
    /**
     * @private
     */
    save(viewer: LayoutViewer, fileName: string): void;
    /**
     * @private
     */
    saveAsBlob(viewer: LayoutViewer): Promise<Blob>;
    /**
     * @private
     */
    saveExcel(): Promise<Blob>;
    /**
     * @private
     */
    destroy(): void;
    private serialize;
    private setDocument;
    private clearDocument;
    private serializeDocument;
    private writeCommonAttributeStrings;
    private writeDup;
    private writeCustom;
    private serializeDocumentBody;
    private serializeSection;
    private serializeSectionProperties;
    private serializeColumns;
    private serializePageSetup;
    private serializePageSize;
    private serializePageMargins;
    private serializeSectionType;
    private serializeHFReference;
    private addHeaderFooter;
    private serializeBodyItems;
    private serializeBodyItem;
    private serializeParagraph;
    private serializeParagraphItems;
    private serializeBiDirectionalOverride;
    private serializeEditRange;
    private serializeBookMark;
    private getBookmarkId;
    private serializePicture;
    private serializeDrawing;
    private serializeInlinePicture;
    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 serializeDrawingGraphics;
    private updateShapeId;
    private addImageRelation;
    private updateHFImageRels;
    private serializeTable;
    private serializeTableGrid;
    private serializeTableRows;
    private serializeRow;
    private serializeRowFormat;
    private serializeCells;
    private serializeCell;
    private serializeCellFormat;
    private serializeCellWidth;
    private serializeCellMerge;
    private createMerge;
    private serializeColumnSpan;
    private checkMergeCell;
    private serializeGridSpan;
    private serializeTableCellDirection;
    private serializeCellVerticalAlign;
    private serializeGridColumns;
    private serializeTableFormat;
    private serializeTableMargins;
    private serializeRowMargins;
    private serializeCellMargins;
    private serializeMargins;
    private serializeShading;
    private getTextureStyle;
    private serializeTableBorders;
    private serializeBorders;
    private serializeTblLayout;
    private serializeBorder;
    private getBorderStyle;
    private serializeTableIndentation;
    private serializeCellSpacing;
    private serializeTableWidth;
    private serializeTableAlignment;
    private serializeFieldCharacter;
    private serializeTextRange;
    private serializeParagraphFormat;
    private serializeTabs;
    private serializeTab;
    private getTabLeader;
    private getTabJustification;
    private serializeListFormat;
    private serializeParagraphAlignment;
    private serializeParagraphSpacing;
    private serializeIndentation;
    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 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
     */
    encodedString(input: string): Uint8Array;
    private serializeExternalLinkImages;
    private serializeHeaderFooterRelations;
    private serializeHFRelation;
    private serializeRelationShip;
    private getNextRelationShipID;
    private serializeGeneralRelations;
    private serializeContentTypes;
    private serializeHFContentTypes;
    private serializeHeaderFootersContentType;
    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
 * 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' | 
/** 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
     * 
     * > For more details about the field mapping refer to [`Data binding`](../../auto-complete/data-binding) documentation.
     * @default { value: null, iconCss: null, groupBy: null}
     */
    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
     */
    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
     * @blazorType int
     */
    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/html-base.attributes-api/index.ts" %}{% endcodeBlock %}
     * 
     * {% codeBlock src="autocomplete/html-base.attributes-api/index.html" %}{% endcodeBlock %}
     * @default {}
     */
    htmlAttributes?: { [key: string]: string;
 };
    /**
     * Accepts the external `query`
     * that execute along with data processing.
     * 
     * {% codeBlock src="autocomplete/query-api/index.ts" %}{% endcodeBlock %}
     * 
     * {% codeBlock src="autocomplete/query-api/index.html" %}{% endcodeBlock %}
     * @default null
     */
    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
     * @blazorType int
     */
    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
     * @blazorProperty 'Filtering'
     */
    filtering?: base.EmitType<FilteringEventArgs>;
    /**
     * Not applicable to this component.
     * @default null
     * @private
     * @blazorType int
     * @isBlazorNullableType true
     */
    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
     * @blazorType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     */
    floatLabelType?: inputs.FloatLabelType;
    /**
     * Not applicable to this component.
     * @default null
     * @private
     */
    valueTemplate?: string;
    /**
     * Not applicable to this component.
     * @default null
     * @private
     */
    filterBarPlaceholder?: string;
    /**
     * Not applicable to this component. 
     * @default false
     * @private
     */
    allowFiltering?: boolean;
    /**
     * Not applicable to this component. 
     * @default null
     * @private
     */
    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;
    /**
     * 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
     *
     * > For more details about the field mapping refer to [`Data binding`](../../auto-complete/data-binding) documentation.
     * @default { value: null, iconCss: null, groupBy: null}
     */
    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
     */
    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
     * @blazorType int
     */
    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/html-attributes-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="autocomplete/html-attributes-api/index.html" %}{% endcodeBlock %}
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Accepts the external `query`
     * that execute along with data processing.
     *
     * {% codeBlock src="autocomplete/query-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="autocomplete/query-api/index.html" %}{% endcodeBlock %}
     * @default null
     */
    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
     * @blazorType int
     */
    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
     * @blazorProperty 'Filtering'
     */
    filtering: base.EmitType<FilteringEventArgs>;
    /**
     * Not applicable to this component.
     * @default null
     * @private
     * @blazorType int
     * @isBlazorNullableType true
     */
    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
     * @blazorType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     */
    floatLabelType: inputs.FloatLabelType;
    /**
     * Not applicable to this component.
     * @default null
     * @private
     */
    valueTemplate: string;
    /**
     * Not applicable to this component.
     * @default null
     * @private
     */
    filterBarPlaceholder: string;
    /**
     * Not applicable to this component.
     * @default false
     * @private
     */
    allowFiltering: boolean;
    /**
     * Not applicable to this component.
     * @default null
     * @private
     */
    text: string;
    /**
     * * Constructor for creating the widget
     */
    constructor(options?: AutoCompleteModel, element?: string | HTMLElement);
    /**
     * Initialize the event handler
     * @private
     */
    protected preRender(): void;
    protected getLocaleName(): string;
    protected getNgDirective(): string;
    protected getQuery(query: data.Query): data.Query;
    protected searchLists(e: base.KeyboardEventArgs): 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.
     * @return {void}.
     */
    filter(dataSource: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[], query?: data.Query, fields?: FieldSettingsModel): void;
    private filterAction;
    protected clear(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(): void;
    protected isEditTextBox(): boolean;
    protected isPopupButton(): boolean;
    protected isSelectFocusItem(element: Element): boolean;
    /**
     * Search the entered text and show it in the suggestion list if available.
     * @returns void.
     */
    showPopup(): void;
    /**
     * Hides the popup if it is in open state.
     * @returns void.
     */
    hidePopup(): void;
    /**
     * Dynamically change the value of properties.
     * @private
     */
    onPropertyChanged(newProp: AutoCompleteModel, oldProp: AutoCompleteModel): void;
    /**
     * Return the module name of this component.
     * @private
     */
    getModuleName(): string;
    /**
     * To initialize the control rendering
     * @private
     */
    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/html-attributes-api/index.ts" %}{% endcodeBlock %}
     * 
     * {% codeBlock src="combobox/html-attributes-api/index.html" %}{% endcodeBlock %}
     * @default {}
     */
    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
     */
    allowFiltering?: boolean;
    /**
     * Accepts the external `data.Query`
     * that execute along with [`data processing`](../../combo-box/data-binding).
     * 
     * {% codeBlock src="combobox/query-api/index.ts" %}{% endcodeBlock %}
     * 
     * {% codeBlock src="combobox/query-api/index.html" %}{% endcodeBlock %}
     * @default null
     */
    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
     * @blazorType int
     * @isBlazorNullableType true
     */
    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;
    /**
     * Triggers on set a 
     * [`custom value`](../../combo-box/getting-started#custom-values) to this component.
     * @event
     * @blazorProperty '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
     * @blazorProperty '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
     * @blazorType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     */
    floatLabelType?: inputs.FloatLabelType;
    /**
     * Not applicable to this component.
     * @default null
     * @private
     */
    filterBarPlaceholder?: string;
}
//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/html-attributes-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="combobox/html-attributes-api/index.html" %}{% endcodeBlock %}
     * @default {}
     */
    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
     */
    allowFiltering: boolean;
    /**
     * Accepts the external `data.Query`
     * that execute along with [`data processing`](../../combo-box/data-binding).
     *
     * {% codeBlock src="combobox/query-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="combobox/query-api/index.html" %}{% endcodeBlock %}
     * @default null
     */
    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
     * @blazorType int
     * @isBlazorNullableType true
     */
    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;
    /**
     * Triggers on set a
     * [`custom value`](../../combo-box/getting-started#custom-values) to this component.
     * @event
     * @blazorProperty '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
     * @blazorProperty '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
     * @blazorType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     */
    floatLabelType: inputs.FloatLabelType;
    /**
     * Not applicable to this component.
     * @default null
     * @private
     */
    filterBarPlaceholder: string;
    /**
     * *Constructor for creating the component
     */
    constructor(options?: ComboBoxModel, element?: string | HTMLElement);
    /**
     * Initialize the event handler
     * @private
     */
    protected preRender(): void;
    protected getLocaleName(): string;
    protected wireEvent(): void;
    private preventBlur;
    protected onBlur(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): 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.
     */
    showSpinner(): void;
    /**
     * Hides the spinner loader.
     * @returns void.
     */
    hideSpinner(): void;
    protected setAutoFill(activeElement: Element, isHover?: boolean): void;
    private isAndroidAutoFill;
    protected clear(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.
     * @private
     */
    onPropertyChanged(newProp: ComboBoxModel, oldProp: ComboBoxModel): void;
    /**
     * To initialize the control rendering.
     * @private
     */
    render(): void;
    /**
     * Return the module name of this component.
     * @private
     */
    getModuleName(): string;
    /**
     * Hides the popup if it is in open state.
     * @returns void.
     */
    hidePopup(): void;
    /**
     * Sets the focus to the component for interaction.
     * @returns void.
     */
    focusIn(): 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`.
     * @blazorType object
     */
    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.
 */
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.
 */
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';
/**
 * 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.
 */
export  function incrementalSearch(keyCode: number, items: HTMLElement[], selectedIndex: number, ignoreCase: boolean): Element;
export  function Search(inputVal: string, items: HTMLElement[], searchType: SearchType, ignoreCase?: boolean): {
    [key: string]: Element | number;
};
//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').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 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 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
     */
    itemTemplate?: string;
    /**
     * Accepts the template design and assigns it to the group headers present in the popup list.
     * @default null
     */
    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'
     */
    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 'The 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 None
     */
    sortOrder?: lists.SortOrder;
    /**
     * Specifies a value that indicates whether the component is enabled or not.
     * @default true
     */
    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 []
     */
    dataSource?: { [key: string]: Object }[] | data.DataManager | string[] | number[] | boolean[];
    /**
     * Accepts the external `data.Query`
     * which will execute along with the data processing.
     * @default null
     */
    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'
     */
    filterType?: FilterType;
    /**
     * 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 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;
    /**
     * Triggers before fetching data from the remote server.
     * @event
     * @blazorProperty 'OnActionBegin'
     * @blazorType ActionBeginEventArgs
     */
    actionBegin?: base.EmitType<Object>;
    /**
     * Triggers after data is fetched successfully from the remote server.
     * @event
     * @blazorProperty 'OnActionComplete'
     * @blazorType ActionCompleteEventArgs
     */
    actionComplete?: base.EmitType<Object>;
    /**
     * Triggers when the data fetch request from the remote server fails.
     * @event
     * @blazorProperty 'OnActionFailure'
     */
    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
     * @blazorProperty 'OnValueSelect'
     */
    select?: base.EmitType<SelectEventArgs>;
    /**
     * Triggers when data source is populated in the popup list..
     * @event
     * @blazorProperty 'DataBound'
     * @blazorType DataBoundEventArgs
     */
    dataBound?: base.EmitType<Object>;
    /**
     * Triggers when the component is created.
     * @event 
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     * @event
     * @blazorProperty '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.
     * @blazorType object
     */
    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
     * @blazorType object
     */
    data: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[];
    /**
     * Illustrates whether the current action needs to be prevented or not.
     */
    cancel?: boolean;
}
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.
     * @blazorType object
     */
    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;
}
export interface DataBoundEventArgs {
    /**
     * Returns the selected items as JSON Object from the data source.
     * @blazorType object
     */
    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 queryString: string;
    protected sortedData: {
        [key: string]: Object;
    }[] | string[] | boolean[] | number[];
    protected isGroupChecking: boolean;
    protected itemTemplateId: string;
    protected valueTemplateId: string;
    protected groupTemplateId: string;
    protected headerTemplateId: string;
    protected footerTemplateId: string;
    protected noRecordsTemplateId: string;
    protected actionFailureTemplateId: string;
    /**
     * 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}
     */
    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
     */
    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
     */
    itemTemplate: string;
    /**
     * Accepts the template design and assigns it to the group headers present in the popup list.
     * @default null
     */
    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'
     */
    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 'The 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 None
     */
    sortOrder: lists.SortOrder;
    /**
     * Specifies a value that indicates whether the component is enabled or not.
     * @default true
     */
    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 []
     */
    dataSource: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[];
    /**
     * Accepts the external `data.Query`
     * which will execute along with the data processing.
     * @default null
     */
    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'
     */
    filterType: FilterType;
    /**
     * 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 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;
    /**
     * Triggers before fetching data from the remote server.
     * @event
     * @blazorProperty 'OnActionBegin'
     * @blazorType ActionBeginEventArgs
     */
    actionBegin: base.EmitType<Object>;
    /**
     * Triggers after data is fetched successfully from the remote server.
     * @event
     * @blazorProperty 'OnActionComplete'
     * @blazorType ActionCompleteEventArgs
     */
    actionComplete: base.EmitType<Object>;
    /**
     * Triggers when the data fetch request from the remote server fails.
     * @event
     * @blazorProperty 'OnActionFailure'
     */
    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
     * @blazorProperty 'OnValueSelect'
     */
    select: base.EmitType<SelectEventArgs>;
    /**
     * Triggers when data source is populated in the popup list..
     * @event
     * @blazorProperty 'DataBound'
     * @blazorType DataBoundEventArgs
     */
    dataBound: base.EmitType<Object>;
    /**
     * Triggers when the component is created.
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     * @event
     * @blazorProperty 'Destroyed'
     */
    destroyed: base.EmitType<Object>;
    /**
     * * Constructor for DropDownBase class
     */
    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;
    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
     */
    protected setEnableRtl(): void;
    /**
     * Initialize the base.Component.
     */
    private initialize;
    protected DropDownBaseupdateBlazorTemplates(item: boolean, group: boolean, noRecord: boolean, action: boolean, value?: boolean, header?: boolean, footer?: boolean, isEmpty?: boolean): void;
    protected DropDownBaseresetBlazorTemplates(item: boolean, group: boolean, noRecord: boolean, action: boolean, value?: boolean, header?: boolean, footer?: boolean): void;
    /**
     * Get the properties to be maintained in persisted state.
     */
    protected getPersistData(): string;
    /**
     * Sets the enabled state to DropDownBase.
     */
    protected setEnabled(): void;
    /**
     * Sets the enabled state to DropDownBase.
     */
    protected updateDataAttribute(value: {
        [key: string]: string;
    }): void;
    private renderItemsBySelect;
    private getJSONfromOption;
    /**
     * Execute before render the list items
     * @private
     */
    protected preRender(): void;
    /**
     * Creates the list items of DropDownBase component.
     */
    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.
     */
    protected getQuery(query: data.Query): data.Query;
    /**
     * To render the template content for group header element.
     */
    private renderGroupTemplate;
    /**
     * To create the ul li list items
     */
    private createListItems;
    protected listOption(dataSource: {
        [key: string]: Object;
    }[] | string[] | number[] | boolean[], fields: FieldSettingsModel): FieldSettingsModel;
    protected setFloatingHeader(e: Event): void;
    private scrollStop;
    /**
     * To render 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
     */
    protected getIndexByValue(value: string | number | boolean): number;
    /**
     * To dispatch the event manually
     */
    protected dispatchEvent(element: HTMLElement, type: string): void;
    /**
     * To set the current fields
     */
    protected setFields(): void;
    /**
     * reset the items list.
     */
    protected resetList(dataSource?: {
        [key: string]: Object;
    }[] | data.DataManager | string[] | number[] | boolean[], fields?: FieldSettingsModel, query?: data.Query): 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.
     * @private
     */
    onPropertyChanged(newProp: DropDownBaseModel, oldProp: DropDownBaseModel): void;
    /**
     * Build and render the component
     * @private
     */
    render(isEmptyData?: boolean): void;
    /**
     * Return the module name of this component.
     * @private
     */
    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.
     * @return {void}.
     */
    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;
    }): void;
    /**
     * Gets the data Object that matches the given value.
     * @param { string | number } value - Specifies the value of the list item.
     * @returns Object.
     * @blazorType 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
     * @return {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.
     * @return {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;
}
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
     * @blazorType 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
     * @blazorType 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
     * @blazorType 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/html-base.attributes-api/index.ts" %}{% endcodeBlock %}
     * 
     * {% codeBlock src="dropdownlist/html-base.attributes-api/index.html" %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes?: { [key: string]: string;
 };
    /**
     * Accepts the external `data.Query`
     * that execute along with data processing.
     * 
     * {% codeBlock src="dropdownlist/query-api/index.ts" %}{% endcodeBlock %}
     * 
     * {% codeBlock src="dropdownlist/query-api/index.html" %}{% endcodeBlock %}
     * 
     * @default null
     */
    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
     * @blazorType int
     * @isBlazorNullableType true
     */
    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
     * @blazorType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     */
    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
     * @blazorProperty '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
     * @blazorProperty 'ValueChange'
     */
    change?: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when the popup before opens.
     * @event
     * @blazorProperty 'OnOpen'
     * @blazorType BeforeOpenEventArgs
     */
    beforeOpen?: base.EmitType<Object>;
    /**
     * Triggers when the popup opens.
     * @event
     * @blazorProperty 'Opened'
     */
    open?: base.EmitType<PopupEventArgs>;
    /**
     * Triggers when the popup is closed.
     * @event
     * @blazorProperty 'OnClose'
     */
    close?: base.EmitType<PopupEventArgs>;
    /**
     * Triggers when focus moves out from the component.
     * @event
     */
    blur?: base.EmitType<Object>;
    /**
     * Triggers when the component is focused.
     * @event
     */
    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.
     * @blazorType object
     */
    previousItemData: FieldSettingsModel;
    /**
     * Returns the root element of the component.
     */
    element: HTMLElement;
}
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;
    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;
    /**
     * 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
     * @blazorType 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
     * @blazorType 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
     * @blazorType 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/html-attributes-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="dropdownlist/html-attributes-api/index.html" %}{% endcodeBlock %}
     *
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * Accepts the external `data.Query`
     * that execute along with data processing.
     *
     * {% codeBlock src="dropdownlist/query-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="dropdownlist/query-api/index.html" %}{% endcodeBlock %}
     *
     * @default null
     */
    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
     * @blazorType int
     * @isBlazorNullableType true
     */
    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
     * @blazorType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     */
    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
     * @blazorProperty '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
     * @blazorProperty 'ValueChange'
     */
    change: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when the popup before opens.
     * @event
     * @blazorProperty 'OnOpen'
     * @blazorType BeforeOpenEventArgs
     */
    beforeOpen: base.EmitType<Object>;
    /**
     * Triggers when the popup opens.
     * @event
     * @blazorProperty 'Opened'
     */
    open: base.EmitType<PopupEventArgs>;
    /**
     * Triggers when the popup is closed.
     * @event
     * @blazorProperty 'OnClose'
     */
    close: base.EmitType<PopupEventArgs>;
    /**
     * Triggers when focus moves out from the component.
     * @event
     */
    blur: base.EmitType<Object>;
    /**
     * Triggers when the component is focused.
     * @event
     */
    focus: base.EmitType<Object>;
    /**
     * * Constructor for creating the DropDownList component.
     */
    constructor(options?: DropDownListModel, element?: string | HTMLElement);
    /**
     * Initialize the event handler.
     * @private
     */
    protected preRender(): void;
    private initializeData;
    protected setZIndex(): void;
    protected renderList(isEmptyData?: boolean): void;
    private floatLabelChange;
    protected resetHandler(e: MouseEvent): void;
    protected resetFocusElement(): void;
    protected clear(e?: MouseEvent | base.KeyboardEventArgs, 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.
     */
    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 onBlur(e: MouseEvent): void;
    protected focusOutAction(): 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
     */
    private wireListEvents;
    private onSearch;
    protected onMouseClick(e: MouseEvent): void;
    private onMouseOver;
    private setHover;
    private onMouseLeave;
    private removeHover;
    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;
    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.
     */
    private unWireListEvents;
    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 setValueTemplate;
    protected removeSelection(): void;
    protected getItemData(): {
        [key: string]: string;
    };
    /**
     * To trigger the change event for list.
     */
    protected onChangeEvent(eve: MouseEvent | KeyboardEvent | TouchEvent): void;
    private detachChanges;
    protected detachChangeEvent(eve: MouseEvent | KeyboardEvent | TouchEvent): void;
    protected setHiddenValue(): void;
    /**
     * Filter bar implementation
     */
    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): 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.
     * @return {void}.
     */
    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(): void;
    protected onActionFailure(e: Object): void;
    protected onActionComplete(ulElement: HTMLElement, list: {
        [key: string]: Object;
    }[], e?: Object, isUpdated?: boolean): void;
    private addNewItem;
    protected updateActionCompleteData(li: HTMLElement, item: {
        [key: string]: Object;
    }): void;
    private focusIndexItem;
    protected updateSelection(): void;
    protected removeFocus(): void;
    protected renderPopup(): 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 closePopup;
    private destroyPopup;
    private clickOnBackIcon;
    /**
     * To Initialize the control rendering
     * @private
     */
    render(): void;
    private setFooterTemplate;
    private setHeaderTemplate;
    protected setOldText(text: string): void;
    protected setOldValue(value: string | number | boolean): void;
    protected refreshPopup(): void;
    private checkDatasource;
    protected updateDataSource(props?: DropDownListModel): void;
    protected checkCustomValue(): void;
    private updateInputFields;
    /**
     * Dynamically change the value of properties.
     * @private
     */
    onPropertyChanged(newProp: DropDownListModel, oldProp: DropDownListModel): void;
    private checkValidLi;
    private setSelectionData;
    private setCssClass;
    /**
     * Return the module name.
     * @private
     */
    getModuleName(): string;
    /**
     * 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(): 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(): void;
    /**
     * 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;
    /**
     * Gets all the list items bound on this component.
     * @returns Element[].
     */
    getItems(): Element[];
}
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 which 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 data source.
     */
    parentValue?: string;

    /**
     * Defines the external [`Query`](http://ej2.syncfusion.com/documentation/data/api-query.html)
     * that will execute along with data processing.
     * @default null
     */
    query?: any;

    /**
     * Specifies the mapping field for 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 item's 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 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/collapse. 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-tap.
     * * `Click` - The expand/collapse operation happens when you perform single-click/tap 
     * on the pop-up item in both desktop and mobile devices.
     * * `DblClick` - The expand/collapse operation happens when you perform a double-click/tap 
     * on the pop-up item in both desktop and mobile devices.
     * * `None` - The expand/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 while 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, show 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 while 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 focus 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;

    /**
     * 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 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.FloatLabelType.Never
     * @isEnumeration true
     */
    floatLabelType?: any;

    /**
     * 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 no footer container for the pop-up list.
     * @default null
     */
    footerTemplate?: string;

    /**
     * When **ignoreAccent** set to true, then 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 in the top of the pop-up list.
     * By default the headerTemplate will be null and there will 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](http://ej2.syncfusion.com/documentation/base/template-engine.html)
     * 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 text content.
     * * Default : On focus in, the component will act in box mode. On blur component will act in delimiter mode.
     */
    mode?: Mode;

    /**
     * Specifies the template that renders a customized pop-up list content when there 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 are disabled.
     * @default false
     */
    readonly?: boolean;

    /**
     * Specifies whether to show or hide the selectAll checkbox in the pop-up which allows to select all 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 enable, the Checkbox will be displayed next to the expand/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 are 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 are 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 ascending 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, loadOnDemand: true}
     */
    treeSettings?: TreeSettingsModel;

    /**
     * Specifies the display text for the un select 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;

    /**
     * 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
     * @blazorProperty 'Filtering'
     */
    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 which 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 data source.
     */
    parentValue: string;
    /**
     * Defines the external [`Query`](http://ej2.syncfusion.com/documentation/data/api-query.html)
     * that will execute along with data processing.
     * @default null
     */
    query: data.Query;
    /**
     * Specifies the mapping field for 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 item's 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 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/collapse. 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-tap.
     * * `Click` - The expand/collapse operation happens when you perform single-click/tap
     * on the pop-up item in both desktop and mobile devices.
     * * `DblClick` - The expand/collapse operation happens when you perform a double-click/tap
     * on the pop-up item in both desktop and mobile devices.
     * * `None` - The expand/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 while 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 {
    /**
     * Illustrates whether the current action needs to be prevented or not.
     */
    cancel: boolean;
}
export interface DdtPopupEventArgs {
    /**
     * Specifies the pop-up object.
     */
    popup: any;
}
export interface DdtDataBoundEventArgs {
    /**
     * Return the DropDownTree data.
     */
    data: {
        [key: string]: Object;
    }[];
}
export interface DdtFocusEventArgs {
    /**
     * Specifies whether the element is interacted while 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;
    /**
     * Illustrates 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 {
    /**
     * Return the name of action like select or un-select.
     */
    action: string;
    /**
     * If the event is triggered by interacting the Dropdown Tree, it returns true. Otherwise, it returns false.
     */
    isInteracted: boolean;
    /**
     * Return the currently selected Dropdown item.
     */
    item: HTMLLIElement;
    /**
     * Return the currently selected item as JSON object from 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';
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 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 noRecordsTemplateId;
    private isValueChange;
    private keyEventArgs;
    private keyboardModule;
    private keyConfigs;
    private isBlazorPlatForm;
    private isFilteredData;
    private isFilterRestore;
    private treeData;
    private selectedData;
    private filterObj;
    private filterDelayTime;
    private nestedTableUpdate;
    /**
     * 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, show 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 while 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 focus 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;
    /**
     * 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 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.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 no footer container for the pop-up list.
     * @default null
     */
    footerTemplate: string;
    /**
     * When **ignoreAccent** set to true, then 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 in the top of the pop-up list.
     * By default the headerTemplate will be null and there will 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](http://ej2.syncfusion.com/documentation/base/template-engine.html)
     * 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 text content.
     * * Default : On focus in, the component will act in box mode. On blur component will act in delimiter mode.
     */
    mode: Mode;
    /**
     * Specifies the template that renders a customized pop-up list content when there 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 are disabled.
     * @default false
     */
    readonly: boolean;
    /**
     * Specifies whether to show or hide the selectAll checkbox in the pop-up which allows to select all 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 enable, the Checkbox will be displayed next to the expand/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 are 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 are 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 ascending 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, loadOnDemand: true}
     */
    treeSettings: TreeSettingsModel;
    /**
     * Specifies the display text for the un select 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;
    /**
     * 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
     * @blazorProperty 'Filtering'
     */
    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;
    /**
     * Initialize the event handler.
     * @private
     */
    protected preRender(): void;
    /**
     * To Initialize the control rendering
     * @private
     */
    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 triggerChangeEvent;
    private compareValues;
    private focusIn;
    private treeAction;
    private keyActionHandler;
    private checkAllAction;
    private windowResize;
    protected getAriaAttributes(): {
        [key: string]: string;
    };
    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 onNodeSelected;
    private onNodeClicked;
    private onNodeChecked;
    private beforeCheck;
    private updateClearButton;
    private updateDropDownIconState;
    private updateMode;
    private ensureClearIconPosition;
    private setMultiSelectValue;
    private setMultiSelect;
    private getSelectedData;
    private removeSelectedData;
    private updateSelectedValues;
    private setChipValues;
    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 ddtupdateBlazorTemplates;
    private ddtresetBlazorTemplates;
    private updateRecordTemplate;
    private updateMultiSelection;
    private updateAllowFiltering;
    private updateFilterPlaceHolder;
    private updateValue;
    private updateText;
    private updateModelMode;
    /**
     * Dynamically change the value of properties.
     * @private
     */
    onPropertyChanged(newProp: DropDownTreeModel, oldProp: DropDownTreeModel): void;
    /**
     * Allows you to clear the selected values from the Dropdown Tree component.
     * @method clear
     * @return {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
     * @return {void}.
     */
    destroy(): void;
    private destroyFilter;
    /**
     * Ensures visibility of the Dropdown Tree item by using item value or item element.
     * When many Dropdown Tree items are present and we need to find a particular item, `ensureVisible` property
     * helps to bring the item to visibility by expanding the Dropdown Tree and scrolling to the specific item.
     * @param  {string | Element} item - Specifies value of Dropdown Tree item/ Dropdown Tree item element.
     */
    ensureVisible(item: string | Element): void;
    /**
     * To get the updated data of source of the Dropdown Tree.
     * @param  {string | Element} item - Specifies value of Dropdown Tree item/ Dropdown Tree item element.
     * @returns { { [key: string]: Object }[] }.
     */
    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/deselected.
     * parameter
     * `true`   - Selects entire Dropdown Tree items.
     * `false`  - Un 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
     */
    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;
    /**
     * Triggers while rendering each list item.
     * @event
     * @blazorProperty 'OnItemRender'
     */
    beforeItemRender?: base.EmitType<BeforeItemRenderEventArgs>;
    /**
     * Triggers on typing a character in the component.
     * @event
     * @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
     * @private
     */
    select?: base.EmitType<SelectEventArgs>;
    /**
     * Triggers while select / unselect the list item.
     * @event
     * @blazorProperty 'ValueChange'
     */
    change?: base.EmitType<ListBoxChangeEventArgs>;
    /**
     * Triggers after dragging the list item.
     * @event
     * @blazorProperty 'DragStart'
     */
    dragStart?: base.EmitType<DragEventArgs>;
    /**
     * Triggers while dragging the list item.
     * @event
     * @blazorProperty 'Dragging'
     */
    drag?: base.EmitType<DragEventArgs>;
    /**
     * Triggers before dropping the list item on another list item.
     * @event
     * @blazorProperty 'Dropped'
     */
    drop?: base.EmitType<DragEventArgs>;
    /**
     * Triggers when data source is populated in the list.
     * @event
     * @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 design and assigns it to list of component
     * when no data is available on the component.
     * @default 'No Records Found'
     * @private
     */
    noRecordsTemplate?: string;
    /**
     * Accepts the template and assigns it to the list content of the component
     * when the data fetch request from the remote server fails.
     * @default 'The 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

export  type SelectionMode = 'Multiple' | 'Single';
export  type ToolBarPosition = 'Left' | 'Right';
export  type CheckBoxPosition = 'Left' | 'Right';
 type obj = {
    [key: string]: object;
};
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;
}
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 remoteFilterAction;
    private mainList;
    private remoteCustomValue;
    private filterParent;
    protected inputString: string;
    protected filterInput: HTMLInputElement;
    /**
     * 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;
    /**
     * Triggers while rendering each list item.
     * @event
     * @blazorProperty 'OnItemRender'
     */
    beforeItemRender: base.EmitType<BeforeItemRenderEventArgs>;
    /**
     * Triggers on typing a character in the component.
     * @event
     * @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
     * @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.
     * @return {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
     * @blazorProperty 'ValueChange'
     */
    change: base.EmitType<ListBoxChangeEventArgs>;
    /**
     * Triggers after dragging the list item.
     * @event
     * @blazorProperty 'DragStart'
     */
    dragStart: base.EmitType<DragEventArgs>;
    /**
     * Triggers while dragging the list item.
     * @event
     * @blazorProperty 'Dragging'
     */
    drag: base.EmitType<DragEventArgs>;
    /**
     * Triggers before dropping the list item on another list item.
     * @event
     * @blazorProperty 'Dropped'
     */
    drop: base.EmitType<DragEventArgs>;
    /**
     * Triggers when data source is populated in the list.
     * @event
     * @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 design and assigns it to list of component
     * when no data is available on the component.
     * @default 'No Records Found'
     * @private
     */
    noRecordsTemplate: string;
    /**
     * Accepts the template and assigns it to the list content of the component
     * when the data fetch request from the remote server fails.
     * @default 'The 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.
     */
    constructor(options?: ListBoxModel, element?: string | HTMLElement);
    /**
     * Build and render the component
     * @private
     */
    render(): void;
    private initWrapper;
    private initDraggable;
    private initToolbar;
    private createButtons;
    protected validationAttribute(input: HTMLInputElement, hiddenSelect: HTMLSelectElement): void;
    private setHeight;
    private setCssClass;
    private setEnable;
    protected showSpinner(): void;
    protected hideSpinner(): void;
    private onInput;
    protected onActionComplete(ulElement: HTMLElement, list: obj[] | boolean[] | string[] | number[], e?: Object): void;
    private initToolbarAndStyles;
    private triggerDragStart;
    private triggerDrag;
    private dragEnd;
    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 items Text items that needs to be enabled/disabled.
     * @param enable Set `true`/`false` to enable/disable the list items.
     * @returns void
     */
    enableItems(items: string[], enable?: boolean): void;
    /**
     * Based on the state parameter, specified list item will be selected/deselected.
     * @param items Array of text value of the item.
     * @param state Set `true`/`false` to select/un select the list items.
     * @returns void
     */
    selectItems(items: string[], state?: boolean): void;
    /**
     * Based on the state parameter, entire list item will be selected/deselected.
     * @param 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;
    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 selectHandler;
    private triggerChange;
    private getDataByElems;
    private checkMaxSelection;
    private toolbarClickHandler;
    private moveUpDown;
    private moveTo;
    private moveFrom;
    /**
     * Called internally if any of the property value changed.
     * @returns void
     * @private
     */
    private moveData;
    private moveAllTo;
    private moveAllFrom;
    private moveAllData;
    private changeData;
    private getSelectedItems;
    private getScopedListBox;
    private getDragArgs;
    private onKeyDown;
    private keyDownStatus;
    private keyDownHandler;
    private upDownKeyHandler;
    private KeyUp;
    private filteringAction;
    protected targetElement(): string;
    private dataUpdater;
    private focusOutHandler;
    private getValidIndex;
    private updateSelectedOptions;
    private clearSelection;
    private setSelection;
    private updateSelectTag;
    private updateToolBarState;
    private setCheckboxPosition;
    private showCheckbox;
    private isSelected;
    private getSelectTag;
    private getToolElem;
    private formResetHandler;
    /**
     * Return the module name.
     * @private
     */
    getModuleName(): string;
    /**
     * Get the properties to be maintained in the persisted state.
     */
    protected getPersistData(): string;
    protected getLocaleName(): string;
    destroy(): void;
    /**
     * Called internally if any of the property value changed.
     * @returns void
     * @private
     */
    onPropertyChanged(newProp: ListBoxModel, oldProp: ListBoxModel): void;
}
/**
 * Interface for before item render event.
 */
export interface BeforeItemRenderEventArgs extends base.BaseEventArgs {
    element: Element;
    item: {
        [key: string]: Object;
    };
}
/**
 * Interface for drag and drop event.
 */
export interface DragEventArgs {
    elements: Element[];
    items: Object[];
    target?: Element;
    dragSelected?: boolean;
}
/**
 * Interface for change event args.
 */
export interface ListBoxChangeEventArgs extends base.BaseEventArgs {
    elements: Element[];
    items: Object[];
    value: number | string | boolean;
    event: Event;
}
//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 targetElement(): string;
    private onBlur;
    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 overAllWrapper - overall wrapper of multiselect.
 * @param element - the given html element.
 * @param inputElement - specify the input wrapper.
 * @param value - Value of the MultiSelect.
 * @param floatLabelType - Specify the FloatLabel Type.
 * @param 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 value - Value of the MultiSelect.
 * @param label - float label element.
 */
export  function updateFloatLabelState(value: string[] | number[] | boolean[], label: HTMLElement): void;
/**
 * Function to remove Float Label element.
 * @param overAllWrapper - overall wrapper of multiselect.
 * @param componentWrapper - wrapper element of multiselect.
 * @param searchWrapper - search wrapper of multiselect.
 * @param inputElement - specify the input wrapper.
 * @param value - Value of the MultiSelect.
 * @param floatLabelType - Specify the FloatLabel Type.
 * @param 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 value - Value of the MultiSelect.
 * @param inputElement - specify the input wrapper.
 * @param placeholder - Specify the PlaceHolder text.
 */
export  function setPlaceHolder(value: number[] | string[] | boolean[], inputElement: HTMLInputElement, placeholder: string): void;
/**
 * Function for focusing the Float Element.
 * @param overAllWrapper - overall wrapper of multiselect.
 * @param componentWrapper - wrapper element of multiselect.
 */
export  function floatLabelFocus(overAllWrapper: HTMLDivElement, componentWrapper: HTMLDivElement): void;
/**
 * Function to focus the Float Label element.
 * @param overAllWrapper - overall wrapper of multiselect.
 * @param componentWrapper - wrapper element of multiselect.
 * @param value - Value of the MultiSelect.
 * @param floatLabelType - Specify the FloatLabel Type.
 * @param placeholder - Specify the PlaceHolder text.
 */
export  function floatLabelBlur(overAllWrapper: HTMLDivElement, componentWrapper: HTMLDivElement, value: number[] | string[] | boolean[], floatLabelType: inputs.FloatLabelType, placeholder: string): void;
//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;
    onBlur(eve?: MouseEvent): void;
    keyAction?: boolean;
    removeFocus?(): void;
    getLocaleName?(): string;
    filterParent: HTMLElement;
    enableGroupCheckBox: 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{
    /**
     * 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
     * @blazorType 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
     * @blazorType 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
     * @blazorType 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/html-base.attributes-api/index.ts" %}{% endcodeBlock %}
     * 
     * {% codeBlock src="multiselect/html-base.attributes-api/index.html" %}{% 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;
    /**
     * 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
     * @blazorType int
     */
    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.
     * @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
     * @blazorType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     */
    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 '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;
    /**
     * Fires each time when selection changes happened in list items after model and input value get affected.
     * @event
     * @blazorProperty 'ValueChange'
     */
    change?: base.EmitType<MultiSelectChangeEventArgs>;
    /**
     * Fires before the selected item removed from the widget.
     * @event
     * @blazorProperty 'OnValueRemove'
     */
    removing?: base.EmitType<RemoveEventArgs>;
    /**
     * Fires after the selected item removed from the widget.
     * @event
     * @blazorProperty 'ValueRemoved'
     */
    removed?: base.EmitType<RemoveEventArgs>;
    /**
     * Fires after base.select all process completion.
     * @event
     * @blazorProperty 'SelectedAll'
     */
    selectedAll?: base.EmitType<ISelectAllEventArgs>;
    /**
     * Fires when popup opens before animation.
     * @event
     * @blazorProperty 'OnOpen'
     * @blazorType BeforeOpenEventArgs
     */
    beforeOpen?: base.EmitType<Object>;
    /**
     * Fires when popup opens after animation completion.
     * @event
     * @blazorProperty 'Opened'
     */
    open?: base.EmitType<PopupEventArgs>;
    /**
     * Fires when popup close after animation completion.
     * @event
     * @blazorProperty 'OnClose'
     */
    close?: base.EmitType<PopupEventArgs>;
    /**
     * base.Event triggers when the input get focus-out.
     * @event
     */
    blur?: base.EmitType<Object>;
    /**
     * base.Event triggers when the input get focused.
     * @event
     */
    focus?: base.EmitType<Object>;
    /**
     * base.Event triggers when the chip selection.
     * @event
     * @blazorProperty 'ChipSelected'
     */
    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
     * @blazorProperty '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
     * @blazorProperty 'OnChipTag'
     */
    tagging?: base.EmitType<TaggingEventArgs>;
    /**
     * Triggers when the [`customValue`](../../multi-base.select/custom-value) is selected.
     * @event
     * @blazorProperty 'CustomValueSpecifier'
     */
    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;
    /**
     * 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
     * @blazorType 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
     * @blazorType 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
     * @blazorType 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/html-attributes-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="multiselect/html-attributes-api/index.html" %}{% 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;
    /**
     * 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
     * @blazorType int
     */
    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.
     * @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
     * @blazorType Syncfusion.EJ2.Inputs.inputs.FloatLabelType
     */
    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;
    /**
     * Fires each time when selection changes happened in list items after model and input value get affected.
     * @event
     * @blazorProperty 'ValueChange'
     */
    change: base.EmitType<MultiSelectChangeEventArgs>;
    /**
     * Fires before the selected item removed from the widget.
     * @event
     * @blazorProperty 'OnValueRemove'
     */
    removing: base.EmitType<RemoveEventArgs>;
    /**
     * Fires after the selected item removed from the widget.
     * @event
     * @blazorProperty 'ValueRemoved'
     */
    removed: base.EmitType<RemoveEventArgs>;
    /**
     * Fires after select all process completion.
     * @event
     * @blazorProperty 'SelectedAll'
     */
    selectedAll: base.EmitType<ISelectAllEventArgs>;
    /**
     * Fires when popup opens before animation.
     * @event
     * @blazorProperty 'OnOpen'
     * @blazorType BeforeOpenEventArgs
     */
    beforeOpen: base.EmitType<Object>;
    /**
     * Fires when popup opens after animation completion.
     * @event
     * @blazorProperty 'Opened'
     */
    open: base.EmitType<PopupEventArgs>;
    /**
     * Fires when popup close after animation completion.
     * @event
     * @blazorProperty 'OnClose'
     */
    close: base.EmitType<PopupEventArgs>;
    /**
     * Event triggers when the input get focus-out.
     * @event
     */
    blur: base.EmitType<Object>;
    /**
     * Event triggers when the input get focused.
     * @event
     */
    focus: base.EmitType<Object>;
    /**
     * Event triggers when the chip selection.
     * @event
     * @blazorProperty 'ChipSelected'
     */
    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
     * @blazorProperty '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
     * @blazorProperty 'OnChipTag'
     */
    tagging: base.EmitType<TaggingEventArgs>;
    /**
     * Triggers when the [`customValue`](../../multi-select/custom-value) is selected.
     * @event
     * @blazorProperty 'CustomValueSpecifier'
     */
    customValueSelection: base.EmitType<CustomValueEventArgs>;
    /**
     * Constructor for creating the DropDownList widget.
     */
    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 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;
    private checkSelectAll;
    private openClick;
    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.
     * @return {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 onBlur;
    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 removeValue;
    private updateMainList;
    private removeChip;
    private updateChipStatus;
    private addValue;
    private checkMaxSelection;
    private dispatchSelect;
    private addChip;
    private removeChipFocus;
    private onMobileChipInteraction;
    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;
    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 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 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;
    private updateDelimView;
    private updateRemainWidth;
    private updateRemainTemplate;
    private updateRemainingText;
    private getOverflowVal;
    private unWireEvent;
    private selectAllItem;
    private updateValue;
    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.
     */
    protected getPersistData(): string;
    /**
     * Dynamically change the value of properties.
     * @private
     */
    onPropertyChanged(newProp: MultiSelectModel, oldProp: MultiSelectModel): void;
    private reInitializePoup;
    private updateVal;
    /**
     * Hides the popup, if the popup in a open state.
     * @returns void
     */
    hidePopup(): void;
    /**
     * Shows the popup, if the popup in a closed state.
     * @returns void
     */
    showPopup(): 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.
     * @returns void
     */
    selectAll(state: boolean): void;
    getModuleName(): string;
    /**
     * To Initialize the control rendering
     * @private
     */
    render(): void;
    private checkInitialValue;
    private checkAutoFocus;
    private setFloatLabelType;
    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
     * @return {void}
     */
    destroy(): void;
}
export interface CustomValueEventArgs {
    /**
     * Gets the newly added data.
     * @blazorType object
     */
    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.
     * @blazorType object
     */
    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.
     * @return {void}.
     * @blazorType string
     */
    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;
}
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.
     * @blazorType object
     */
    itemData: FieldSettingsModel[];
    /**
     * Specifies the original event arguments.
     */
    event: MouseEvent | KeyboardEvent | TouchEvent;
    /**
     * Specifies whether it is selectAll or deSelectAll.
     */
    isChecked?: boolean;
}
 }
export namespace excelExport { 

//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;
    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;
    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;
    constructor(json: any);
    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): Function;
    toView(value: number | Date, format: Function): string | Object;
    displayText(value: any, format: base.NumberFormatOptions | base.DateFormatOptions): 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);
    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 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[];
}
/**
 * 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
     */
    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.
     *  @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
     */
    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.
     * @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 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 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 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;
//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, width: 'auto', template: '<span class="e-fe-text">${name}</span>',
     * customAttributes: { class: 'e-fe-grid-name'}}, { field: '_fm_modified', headerText: 'DateModified',
     * minWidth: 120, width: '190' }, { field: 'size', headerText: 'Size', minWidth: 90, width: '110',
     * template: '<span class="e-fe-size">${size}</span>' }
     * ]
     * }
     */
    detailsViewSettings?: DetailsViewSettingsModel;
    /**
     * 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,
     * }
     */
    navigationPaneSettings?: NavigationPaneSettingsModel;
    /**
     * Specifies the current path of the file manager.
     * @default '/'
     */
    path?: 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;
    /**
     * 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 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: ''
     * }
     */
    uploadSettings?: UploadSettingsModel;
    /**
     * Specifies the width of the file manager.
     * @default '100%'
     */
    width?: string | number;
    /**
     * Triggers before the file/folder is rendered.
     * @event
     * @blazorproperty 'OnFileLoad'
     */
    fileLoad?: base.EmitType<FileLoadEventArgs>;
    /**
     * Triggers before the file/folder is opened.
     * @event
     * @blazorproperty 'OnFileOpen'
     */
    fileOpen?: base.EmitType<FileOpenEventArgs>;
    /**
     * Triggers before the dialog is closed.
     * @event
     * @blazorproperty 'BeforePopupClose'
     */
    beforePopupClose?: base.EmitType<BeforePopupOpenCloseEventArgs>;
    /**
     * Triggers before the dialog is opened.
     * @event
     * @blazorproperty 'BeforePopupOpen'
     */
    beforePopupOpen?: base.EmitType<BeforePopupOpenCloseEventArgs>;
    /**
     * Triggers before sending the AJAX request to the server.
     * @event
     * @blazorproperty 'OnSend'
     */
    beforeSend?: base.EmitType<BeforeSendEventArgs>;
    /**
     * Triggers when the file manager component is created.
     * @event
     * @blazorproperty 'Created'
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the file manager component is destroyed.
     * @event
     * @blazorproperty 'Destroyed'
     */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers when the file/folder dragging is started.
     * @event
     * @blazorproperty 'OnFileDragStart'
     */
    fileDragStart?: base.EmitType<FileDragEventArgs>;
    /**
     * Triggers while dragging the file/folder.
     * @event
     * @blazorproperty 'FileDragging'
     */
    fileDragging?: base.EmitType<FileDragEventArgs>;
    /**
     * Triggers when the file/folder is about to be dropped at the target.
     * @event
     * @blazorproperty 'OnFileDragStop'
     */
    fileDragStop?: base.EmitType<FileDragEventArgs>;
    /**
     * Triggers when the file/folder is dropped.
     * @event
     * @blazorproperty 'FileDropped'
     */
    fileDropped?: base.EmitType<FileDragEventArgs>;
    /**
     * Triggers when the file/folder is selected/unselected.
     * @event
     * @blazorproperty 'FileSelected'
     */
    fileSelect?: base.EmitType<FileSelectEventArgs>;
    /**
     * Triggers when the context menu item is clicked.
     * @event
     * @blazorproperty 'OnMenuClick'
     */
    menuClick?: base.EmitType<MenuClickEventArgs>;
    /**
     * Triggers before the context menu is opened.
     * @event
     * @blazorproperty 'MenuOpened'
     */
    menuOpen?: base.EmitType<MenuOpenEventArgs>;
    /**
     * Triggers when the AJAX request is failed.
     * @event
     * @blazorproperty 'OnError'
     */
    failure?: base.EmitType<FailureEventArgs>;
    /**
     * Triggers when the dialog is closed.
     * @event
     * @blazorproperty 'PopupClosed'
     */
    popupClose?: base.EmitType<PopupOpenCloseEventArgs>;
    /**
     * Triggers when the dialog is opened.
     * @event
     * @blazorproperty 'PopupOpened'
     */
    popupOpen?: base.EmitType<PopupOpenCloseEventArgs>;
    /**
     * Triggers when the AJAX request is success.
     * @event
     * @blazorproperty 'OnSuccess'
     */
    success?: base.EmitType<SuccessEventArgs>;
    /**
     * Triggers when the toolbar item is clicked.
     * @event
     * @blazorproperty 'ToolbarItemClicked'
     */
    toolbarClick?: base.EmitType<ToolbarClickEventArgs>;
    /**
     * Triggers before creating the toolbar.
     * @event
     * @blazorproperty 'ToolbarCreated'
     */
    toolbarCreate?: base.EmitType<ToolbarCreateEventArgs>;
    /**
     * Triggers before rendering each file item in upload dialog box.
     * @event
     * @blazorproperty 'UploadListCreated'
     */
    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;
    sortOrder: SortOrder;
    sortBy: string;
    actionRecords: Object[];
    activeRecords: Object[];
    isCut: boolean;
    isSearchCut: boolean;
    isSearchDrag: boolean;
    isPasteError: boolean;
    folderPath: string;
    isSameAction: boolean;
    currentItemText: string;
    renameText: string;
    isFiltered: 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;
    droppedObjects: Object[];
    destinationPath: 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, width: 'auto', template: '<span class="e-fe-text">${name}</span>',
     * customAttributes: { class: 'e-fe-grid-name'}}, { field: '_fm_modified', headerText: 'DateModified',
     * minWidth: 120, width: '190' }, { field: 'size', headerText: 'Size', minWidth: 90, width: '110',
     * template: '<span class="e-fe-size">${size}</span>' }
     * ]
     * }
     */
    detailsViewSettings: DetailsViewSettingsModel;
    /**
     * 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,
     * }
     */
    navigationPaneSettings: NavigationPaneSettingsModel;
    /**
     * Specifies the current path of the file manager.
     * @default '/'
     */
    path: 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;
    /**
     * 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 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: ''
     * }
     */
    uploadSettings: UploadSettingsModel;
    /**
     * Specifies the width of the file manager.
     * @default '100%'
     */
    width: string | number;
    /**
     * Triggers before the file/folder is rendered.
     * @event
     * @blazorproperty 'OnFileLoad'
     */
    fileLoad: base.EmitType<FileLoadEventArgs>;
    /**
     * Triggers before the file/folder is opened.
     * @event
     * @blazorproperty 'OnFileOpen'
     */
    fileOpen: base.EmitType<FileOpenEventArgs>;
    /**
     * Triggers before the dialog is closed.
     * @event
     * @blazorproperty 'BeforePopupClose'
     */
    beforePopupClose: base.EmitType<BeforePopupOpenCloseEventArgs>;
    /**
     * Triggers before the dialog is opened.
     * @event
     * @blazorproperty 'BeforePopupOpen'
     */
    beforePopupOpen: base.EmitType<BeforePopupOpenCloseEventArgs>;
    /**
     * Triggers before sending the AJAX request to the server.
     * @event
     * @blazorproperty 'OnSend'
     */
    beforeSend: base.EmitType<BeforeSendEventArgs>;
    /**
     * Triggers when the file manager component is created.
     * @event
     * @blazorproperty 'Created'
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the file manager component is destroyed.
     * @event
     * @blazorproperty 'Destroyed'
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers when the file/folder dragging is started.
     * @event
     * @blazorproperty 'OnFileDragStart'
     */
    fileDragStart: base.EmitType<FileDragEventArgs>;
    /**
     * Triggers while dragging the file/folder.
     * @event
     * @blazorproperty 'FileDragging'
     */
    fileDragging: base.EmitType<FileDragEventArgs>;
    /**
     * Triggers when the file/folder is about to be dropped at the target.
     * @event
     * @blazorproperty 'OnFileDragStop'
     */
    fileDragStop: base.EmitType<FileDragEventArgs>;
    /**
     * Triggers when the file/folder is dropped.
     * @event
     * @blazorproperty 'FileDropped'
     */
    fileDropped: base.EmitType<FileDragEventArgs>;
    /**
     * Triggers when the file/folder is selected/unselected.
     * @event
     * @blazorproperty 'FileSelected'
     */
    fileSelect: base.EmitType<FileSelectEventArgs>;
    /**
     * Triggers when the context menu item is clicked.
     * @event
     * @blazorproperty 'OnMenuClick'
     */
    menuClick: base.EmitType<MenuClickEventArgs>;
    /**
     * Triggers before the context menu is opened.
     * @event
     * @blazorproperty 'MenuOpened'
     */
    menuOpen: base.EmitType<MenuOpenEventArgs>;
    /**
     * Triggers when the AJAX request is failed.
     * @event
     * @blazorproperty 'OnError'
     */
    failure: base.EmitType<FailureEventArgs>;
    /**
     * Triggers when the dialog is closed.
     * @event
     * @blazorproperty 'PopupClosed'
     */
    popupClose: base.EmitType<PopupOpenCloseEventArgs>;
    /**
     * Triggers when the dialog is opened.
     * @event
     * @blazorproperty 'PopupOpened'
     */
    popupOpen: base.EmitType<PopupOpenCloseEventArgs>;
    /**
     * Triggers when the AJAX request is success.
     * @event
     * @blazorproperty 'OnSuccess'
     */
    success: base.EmitType<SuccessEventArgs>;
    /**
     * Triggers when the toolbar item is clicked.
     * @event
     * @blazorproperty 'ToolbarItemClicked'
     */
    toolbarClick: base.EmitType<ToolbarClickEventArgs>;
    /**
     * Triggers before creating the toolbar.
     * @event
     * @blazorproperty 'ToolbarCreated'
     */
    toolbarCreate: base.EmitType<ToolbarCreateEventArgs>;
    /**
     * Triggers before rendering each file item in upload dialog box.
     * @event
     * @blazorproperty 'UploadListCreated'
     */
    uploadListCreate: base.EmitType<UploadListCreateArgs>;
    constructor(options?: FileManagerModel, element?: string | HTMLElement);
    /**
     * Get component name.
     * @returns string
     * @private
     */
    getModuleName(): string;
    /**
     * Initialize the event handler
     */
    protected preRender(): void;
    /**
     * Gets the properties to be maintained upon browser refresh..
     * @returns string
     * @hidden
     */
    getPersistData(): string;
    /**
     * To provide the array of modules needed for component rendering
     * @return {base.ModuleDeclaration[]}
     * @hidden
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * To Initialize the control rendering
     * @private
     */
    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 onClearing;
    private onSelected;
    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 {name: 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 {ids: 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 {items: 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 {ids: 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 {items: 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 {items: 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 {item: string} item - Specifies an item to get the index position.
     * @returns number
     */
    getMenuItemIndex(item: string): number;
    /**
     * Returns the index position of given toolbar item in file manager.
     * @param {item: string} item - Specifies an item to get the index position.
     * @returns number
     */
    getToolbarItemIndex(item: string): number;
    /**
     * Display the custom filtering files in file manager.
     * @param {filterData: 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[]
     */
    getSelectedFiles(): Object[];
    /**
     * Opens the corresponding file or folder from the given unique identifier.
     * @param {id: 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 {id: 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 {name: 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
     */
    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
export  type ViewType = 'LargeIcons' | 'Details';
export  type SortOrder = 'Ascending' | 'Descending';
export  type ToolBarItems = 'NewFolder' | 'Upload' | 'Cut' | 'Copy' | 'Paste' | 'Delete' | 'Download' | 'Rename' | 'SortBy' | 'Refresh' | 'Selection' | 'View' | 'Details';
export  type MenuItems = 'NewFolder' | 'Upload' | 'Cut' | 'Copy' | 'Paste' | 'Delete' | 'Download' | 'Rename' | 'SortBy' | 'Refresh' | 'SelectAll' | 'View' | 'Details' | 'Open';
/**
 * Interfaces for File Manager
 */
export interface IToolBarItems {
    template?: string;
    tooltipText?: string;
}
export interface NotifyArgs {
    module?: string;
    newProp?: FileManagerModel;
    oldProp?: FileManagerModel;
    target?: Element;
    selectedNode?: string;
}
export interface ReadArgs {
    cwd?: {
        [key: string]: Object;
    };
    files?: {
        [key: string]: Object;
    }[];
    error?: ErrorArgs;
    details?: Object;
    id?: string;
}
export interface MouseArgs {
    target?: Element;
}
export interface UploadArgs {
    files?: {
        [key: string]: Object;
    }[];
    error?: Object[];
    details?: Object;
}
export interface RetryArgs {
    action: string;
    file: FileInfo;
}
export interface ErrorArgs {
    code?: string;
    message?: string;
    fileExists?: string[];
}
export interface DialogOptions {
    dialogName?: string;
    header?: string;
    content?: string;
    buttons?: popups.ButtonPropsModel[];
    open?: base.EmitType<Object>;
    close?: base.EmitType<Object>;
}
export interface SearchArgs {
    files?: {
        [key: string]: Object;
    }[];
    error?: Object[];
    details?: Object;
}
export interface FileDetails {
    created?: string;
    isFile: boolean;
    location: string;
    modified: string;
    name: string;
    size: number;
    icon: string;
    multipleFiles: boolean;
    permission: Object;
}
export interface DownloadArgs {
    files?: {
        [key: string]: Object;
    }[];
    error?: Object[];
    details?: Object;
}
/**
 * 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;
}
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;
}
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;
}
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;
}
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;
}
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;
    /**
     * Return the name of the target module in File Manager.
     */
    module?: string;
}
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;
}
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;
}
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;
}
export interface ToolbarCreateEventArgs {
    /**
     * Return an array of items that is used to configure toolbar content.
     * @blazorType List<Syncfusion.EJ2.Blazor.Navigations.navigations.ItemModel>
     */
    items: navigations.ItemModel[];
}
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.
     * @blazorType Syncfusion.EJ2.Blazor.Navigations.navigations.ItemModel
     */
    item: navigations.ItemModel;
}
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.
     * @blazorType Syncfusion.EJ2.Blazor.Navigations.navigations.MenuItemModel
     */
    item?: navigations.MenuItemModel;
}
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.
     * @blazorType List<Syncfusion.EJ2.Blazor.Navigations.navigations.MenuItemModel>
     */
    items?: navigations.MenuItemModel[];
    /**
     * Returns the instance of context menu component.
     * @blazorType Syncfusion.EJ2.Blazor.Navigations.ContextMenuModel
     */
    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;
}
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;
}
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;
}
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;
    isLayoutChange: boolean;
    isSearchCut: boolean;
    isPasteError: boolean;
    isSameAction: boolean;
    currentItemText: string;
    renameText: string;
    view: ViewType;
    isPathDrag: boolean;
    enablePaste: boolean;
    showThumbnail: boolean;
    allowDragAndDrop: boolean;
    enableRtl: boolean;
    path: 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;
    droppedObjects: Object[];
    uploadEventArgs: BeforeSendEventArgs;
    destinationPath: string;
    refreshLayout(): void;
}
/** @hidden */
export interface ITreeView extends base.Component<HTMLElement> {
    treeObj: navigations.TreeView;
    removeNode: Function;
    removeNodes: string[];
    duplicateFiles: Function;
    rootID: string;
    activeNode: Element;
}
/** @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.
 * @private
 */
export  function read(parent: IFileManager, event: string, path: string): void;
/**
 * Function to create new folder in File Manager.
 * @private
 */
export  function createFolder(parent: IFileManager, itemName: string): void;
/**
 * Function to filter the files in File Manager.
 * @private
 */
export  function filter(parent: IFileManager, event: string): void;
/**
 * Function to rename the folder/file in File Manager.
 * @private
 */
export  function rename(parent: IFileManager, path: string, itemNewName: string): void;
/**
 * Function to paste file's and folder's in File Manager.
 * @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.
 * @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.
 * @private
 */
export  function GetDetails(parent: IFileManager, names: string[], path: string, operation: string): void;
export  function Search(parent: IFileManager, event: string, path: string, searchString: string, showHiddenItems?: boolean, caseSensitive?: boolean): void;
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
 * @private
 */
export  function updatePath(node: HTMLLIElement, data: Object, instance: IFileManager): void;
export  function getPath(element: Element | Node, text: string, hasId: boolean): string;
export  function getPathId(node: Element): string[];
export  function getPathNames(element: Element, text: string): string[];
export  function getParents(element: Element, text: string, isId: boolean, hasId?: boolean): string[];
export  function generatePath(parent: IFileManager): void;
export  function removeActive(parent: IFileManager): void;
export  function activeElement(action: string, parent: IFileManager): boolean;
export  function addBlur(nodes: Element): void;
export  function removeBlur(parent?: IFileManager, hover?: string): void;
export  function getModule(parent: IFileManager, element: Element): void;
export  function searchWordHandler(parent: IFileManager, value: string, isLayoutChange: boolean): void;
export  function updateLayout(parent: IFileManager, view: string): void;
export  function getTargetModule(parent: IFileManager, element: Element): void;
export  function refresh(parent: IFileManager): void;
export  function openAction(parent: IFileManager): void;
export  function getPathObject(parent: IFileManager): Object;
export  function copyFiles(parent: IFileManager): void;
export  function cutFiles(parent: IFileManager): void;
export  function fileType(file: Object): string;
export  function getImageUrl(parent: IFileManager, item: Object): string;
export  function getFullPath(parent: IFileManager, data: Object, path: string): string;
export  function getFullName(item: Object): string;
export  function getName(parent: IFileManager, data: Object): string;
export  function getSortedData(parent: IFileManager, items: Object[]): Object[];
export  function getObject(parent: IFileManager, key: string, value: string): Object;
export  function createEmptyElement(parent: IFileManager, element: HTMLElement, args: ReadArgs | SearchArgs): void;
export  function getDirectories(files: Object[]): Object[];
export  function setNodeId(result: ReadArgs, rootId: string): void;
export  function setDateObject(args: Object[]): void;
export  function getLocaleText(parent: IFileManager, text: string): string;
export  function getCssClass(parent: IFileManager, css: string): string;
export  function sortbyClickHandler(parent: IFileManager, args: navigations.MenuEventArgs): void;
export  function getSortField(id: string): string;
export  function setNextPath(parent: IFileManager, path: string): void;
export  function openSearchFolder(parent: IFileManager, data: Object): void;
export  function pasteHandler(parent: IFileManager): void;
export  function validateSubFolder(parent: IFileManager, data: {
    [key: string]: Object;
}[], dropPath: string, dragPath: string): boolean;
export  function dropHandler(parent: IFileManager): void;
export  function getParentPath(oldPath: string): string;
export  function getDirectoryPath(parent: IFileManager, args: ReadArgs): string;
export  function doPasteUpdate(parent: IFileManager, operation: string, result: ReadArgs): void;
export  function readDropPath(parent: IFileManager): void;
export  function getDuplicateData(parent: IFileManager, name: string): object;
export  function createVirtualDragElement(parent: IFileManager): void;
export  function dragStopHandler(parent: IFileManager, args: base.DragEventArgs): void;
export  function dragStartHandler(parent: IFileManager, args: base.DragEventArgs & base.BlazorDragEventArgs): void;
export  function dragCancel(parent: IFileManager): void;
export  function removeDropTarget(parent: IFileManager): void;
export  function removeItemClass(parent: IFileManager, value: string): void;
export  function draggingHandler(parent: IFileManager, args: base.DragEventArgs): void;
export  function objectToString(data: Object): string;
export  function getItemName(parent: IFileManager, data: Object): string;
export  function updateRenamingData(parent: IFileManager, data: Object): void;
export  function doRename(parent: IFileManager): void;
export  function doDownload(parent: IFileManager): void;
export  function doDeleteFiles(parent: IFileManager, data: Object[], newIds: string[]): void;
export  function doDownloadFiles(parent: IFileManager, data: Object[], newIds: string[]): void;
export  function createDeniedDialog(parent: IFileManager, data: Object): void;
export  function getAccessClass(data: Object): string;
export  function hasReadAccess(data: Object): boolean;
export  function hasEditAccess(data: Object): boolean;
export  function hasContentAccess(data: Object): boolean;
export  function hasUploadAccess(data: Object): boolean;
export  function hasDownloadAccess(data: Object): boolean;
export  function createNewFolder(parent: IFileManager): void;
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;
    gridObj: grids.Grid;
    pasteOperation: boolean;
    uploadOperation: boolean;
    /**
     * Constructor for the GridView module
     * @hidden
     */
    constructor(parent?: FileManager);
    private render;
    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 changeData;
    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 createDragObj;
    private onDropInit;
    private oncutCopyInit;
    private onpasteEnd;
    private onDropPath;
    /**
     * For internal use only - Get the module name.
     * @private
     */
    private getModuleName;
    destroy(): void;
    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 itemList;
    private items;
    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
     * @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.
     * @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 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;
    /** @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 getItemCount;
    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 renameParent;
    /**
     * Constructor for the TreeView module
     * @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 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.
     * @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/intl.html#number-formatter-and-parser)
     * and [`date`](../common/intl.html#date-formatter-and-parser) 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](../common/template-engine.html) 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/intl.html#number-formatter-and-parser)
     * and [`date`](../common/intl.html#date-formatter-and-parser) formats.
     * @default null
     */
    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/intl.html#number-formatter-and-parser)
     * and [`date`](../common/intl.html#date-formatter-and-parser) 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](../common/template-engine.html) 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/intl.html#number-formatter-and-parser)
     * and [`date`](../common/intl.html#date-formatter-and-parser) 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  let 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, width: 'auto', 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, width: 'auto', 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;
}
//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;
}
//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;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/models/search-settings.d.ts
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;
}
//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;
    /**
     * 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;
    /**
     * 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;
    menuItemData: object;
    /**
     * Constructor for the ContextMenu module
     * @hidden
     */
    constructor(parent?: IFileManager);
    private render;
    onBeforeItemRender(args: splitbuttons.MenuEventArgs): void;
    onBeforeClose(): void;
    onBeforeOpen(args: navigations.BeforeOpenCloseMenuEventArgs): void;
    private updateActiveModule;
    /** @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.
     * @private
     */
    private getModuleName;
    private destroy;
    private getItemData;
    private getMenuId;
}
//node_modules/@syncfusion/ej2-filemanager/src/file-manager/pop-up/dialog.d.ts
export  function createDialog(parent: IFileManager, text: string, e?: ReadArgs | inputs.SelectedEventArgs, details?: FileDetails, replaceItems?: string[]): void;
export  function createExtDialog(parent: IFileManager, text: string, replaceItems?: string[], newPath?: string): void;
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;
    constructor(ganttObj: Gantt);
    /**
     * Bind all editing related properties from Gantt to TreeGrid
     */
    private bindTreeGridProperties;
    /**
     * Ensure current cell was editable or not
     * @param args
     */
    private ensureEditCell;
    /**
     * To render edit dialog and to focus on notes tab
     * @param args
     */
    private openNotesEditor;
    private isValueChange;
    /**
     * Initiate cell save action on Gantt with arguments from TreeGrid
     * @param args
     * @param editedObj
     * @private
     */
    initiateCellEdit(args: object, editedObj: object): void;
    /**
     * To update task name cell with new value
     * @param args
     */
    private taskNameEdited;
    /**
     * To update task notes cell with new value
     * @param args
     */
    private notedEdited;
    /**
     * To update task start date cell with new value
     * @param args
     */
    private startDateEdited;
    /**
     * To update task end date cell with new value
     * @param args
     */
    private endDateEdited;
    /**
     * To update duration cell with new value
     * @param args
     */
    private durationEdited;
    /**
     * To update progress cell with new value
     * @param args
     */
    private progressEdited;
    /**
     * To update baselines with new baseline start date and baseline end date
     * @param args
     */
    private baselineEdited;
    /**
     * To update task's resource cell with new value
     * @param args
     * @param editedObj
     */
    private resourceEdited;
    /**
     * To update task's predecessor cell with new value
     * @param editedArgs
     * @param cellEditArgs
     */
    private dependencyEdited;
    /**
     * To compare start date and end date from Gantt record
     * @param ganttRecord
     */
    private compareDatesFromRecord;
    /**
     * To start method save action with edited cell value
     * @param args
     */
    private updateEditedRecord;
    /**
     * To remove all public private properties
     * @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;
    previousScroll: {
        top: number;
        left: number;
    };
    /**
     * Constructor for the scrolling.
     * @hidden
     */
    constructor(parent: Gantt);
    /**
     * Bind event
     */
    private addEventListeners;
    /**
     * Unbind events
     */
    private removeEventListeners;
    /**
     *
     * @param args
     */
    private gridScrollHandler;
    /**
     * Scroll event handler
     */
    private onScroll;
    /**
     * To set height for chart scroll container
     * @param height - To set height for scroll container in chart side
     * @private
     */
    setHeight(height: string | number): void;
    /**
     * To set width for chart scroll container
     * @param width - To set width to scroll container
     * @private
     */
    setWidth(width: string | number): void;
    /**
     * To set scroll top for chart scroll container
     * @param scrollTop - To set scroll top for scroll container
     * @private
     */
    setScrollTop(scrollTop: number): void;
    /**
     * To set scroll left for chart scroll container
     * @param scrollLeft  - To set scroll left for scroll container
     */
    setScrollLeft(scrollLeft: number): void;
    /**
     * Destroy scroll related elements and unbind the events
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/column-menu.d.ts
/**
 * Gantt ColumnMenu module
 *
 */
export  class ColumnMenu {
    private parent;
    /**
     * Constructor for render module
     */
    constructor(parent?: Gantt);
    getColumnMenu(): HTMLElement;
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     * @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
     */
    private getModuleName;
    /**
     * To bind reorder events.
     * @return {void}
     * @private
     */
    private bindEvents;
    /**
     * To destroy the column-reorder.
     * @return {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
     */
    private getModuleName;
    /**
     * To bind resize events.
     * @return {void}
     * @private
     */
    private bindEvents;
    /**
     * To destroy the column-resizer.
     * @return {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.
     * @return {void}
     * @private
     */
    updateConnectorLineEditElement(e: PointerEvent): void;
    /**
     * To get hovered connector line element.
     * @return {void}
     * @private
     */
    private getConnectorLineHoverElement;
    /**
     * To highlight connector line while hover.
     * @return {void}
     * @private
     */
    private highlightConnectorLineElements;
    /**
     * To add connector line highlight class.
     * @return {void}
     * @private
     */
    private addHighlight;
    /**
     * To remove connector line highlight class.
     * @return {void}
     * @private
     */
    private removeHighlight;
    /**
     * To remove connector line highlight class.
     * @return {void}
     * @private
     */
    getEditedConnectorLineString(records: IGanttData[]): string;
    /**
     * Tp refresh connector lines of edited records
     * @param editedRecord
     * @private
     */
    refreshEditedRecordConnectorLine(editedRecord: IGanttData[]): void;
    /**
     * Method to remove connector line from DOM
     * @param records
     * @private
     */
    removePreviousConnectorLines(records: IGanttData[] | object): void;
    private removeConnectorLineById;
    private idFromPredecessor;
    private predecessorValidation;
    /**
     * To validate predecessor relations
     * @param ganttRecord
     * @param predecessorString
     * @private
     */
    validatePredecessorRelation(ganttRecord: IGanttData, predecessorString: string): boolean;
    /**
     * To add dependency for Task
     * @param ganttRecord
     * @param predecessorString
     * @private
     */
    addPredecessor(ganttRecord: IGanttData, predecessorString: string): void;
    /**
     * To remove dependency from task
     * @param ganttRecord
     * @private
     */
    removePredecessor(ganttRecord: IGanttData): void;
    /**
     * To modify current dependency values of Task
     * @param ganttRecord
     * @param predecessorString
     * @private
     */
    updatePredecessor(ganttRecord: IGanttData, predecessorString: string): boolean;
    private updatePredecessorHelper;
    private checkParentRelation;
    private initPredecessorValidationDialog;
    /**
     * To render validation dialog
     * @return {void}
     * @private
     */
    renderValidationDialog(): void;
    private validationDialogOkButton;
    private validationDialogCancelButton;
    private validationDialogClose;
    /**
     * Validate and apply the predecessor option from validation dialog
     * @param buttonType
     * @return {void}
     * @private
     */
    applyPredecessorOption(): void;
    private calculateOffset;
    /**
     * Update predecessor value with user selection option in predecessor validation dialog
     * @param args
     * @return {void}
     */
    private removePredecessors;
    /**
     * To open predecessor validation dialog
     * @param args
     * @return {void}
     * @private
     */
    openValidationDialog(args: object): void;
    /**
     * Predecessor link validation dialog template
     * @param args
     * @private
     */
    validationDialogTemplate(args: object): HTMLElement;
    /**
     * To validate the types while editing the taskbar
     * @param args
     * @return {boolean}
     * @private
     */
    validateTypes(ganttRecord: IGanttData): object;
    /**
     * Method to remove and update new predecessor collection in successor record
     * @param data
     * @private
     */
    addRemovePredecessor(data: IGanttData): void;
    /**
     * Method to remove a predecessor from a record.
     * @param childRecord
     * @param index
     * @private
     */
    removePredecessorByIndex(childRecord: IGanttData, index: number): void;
    /**
     * To render predecessor delete confirmation dialog
     * @return {void}
     * @private
     */
    renderPredecessorDeleteConfirmDialog(): void;
    private confirmCloseDialog;
    private confirmOkDeleteButton;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/actions/context-menu.d.ts
/**
 * To handle the context menu items & sub-menu items
 */
export  class ContextMenu {
    /**
     * @private
     */
    contextMenu: navigations.ContextMenu;
    private parent;
    private ganttID;
    private element;
    private headerMenuItems;
    private contentMenuItems;
    private rowData;
    /**
     * @private
     */
    isOpen: Boolean;
    private predecessors;
    private hideItems;
    private disableItems;
    constructor(parent?: Gantt);
    private addEventListener;
    private reRenderContextMenu;
    private render;
    private contextMenuItemClick;
    private convertToMilestone;
    private contextMenuBeforeOpen;
    private updateItemStatus;
    private updateItemVisibility;
    private contextMenuOpen;
    private getMenuItems;
    private createItemModel;
    private getLocale;
    private buildDefaultItems;
    private getIconCSS;
    private getPredecessorsItems;
    private headerContextMenuClick;
    private headerContextMenuOpen;
    private getDefaultItems;
    private getModuleName;
    private removeEventListener;
    private contextMenuOnClose;
    private revertItemStatus;
    private resetItems;
    private generateID;
    private getKeyFromId;
    /**
     * To destroy the contextmenu module.
     * @return {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
     */
    getModuleName(): string;
    /**
     * @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;
    constructor(gantt: Gantt);
    /**
     * Method to populate predecessor collections in records
     * @private
     */
    ensurePredecessorCollection(): void;
    /**
     *
     * @param ganttData
     * @param ganttProp
     * @private
     */
    ensurePredecessorCollectionHelper(ganttData: IGanttData, ganttProp: ITaskData): void;
    /**
     *
     * @param ganttData Method to check parent dependency in predecessor
     * @param fromId
     */
    private checkIsParent;
    /**
     * Get predecessor collection object from predecessor string value
     * @param predecessorValue
     * @param ganttRecord
     * @private
     */
    calculatePredecessor(predecessorValue: string | number, ganttRecord?: IGanttData): IPredecessor[];
    /**
     * Get predecessor value as string with offset values
     * @param data
     * @private
     */
    getPredecessorStringValue(data: IGanttData): string;
    private getOffsetDurationUnit;
    /**
     * Update predecessor object in both from and to tasks collection
     * @private
     */
    updatePredecessors(): void;
    /**
     * To update predecessor collection to successor tasks
     * @param ganttRecord
     * @param predecessorsCollection
     * @private
     */
    updatePredecessorHelper(ganttRecord: IGanttData, predecessorsCollection?: IGanttData[]): void;
    /**
     * Method to validate date of tasks with predecessor values for all records
     * @private
     */
    updatedRecordsDateByPredecessor(): void;
    /**
     * To validate task date values with dependency
     * @param ganttRecord
     * @private
     */
    validatePredecessorDates(ganttRecord: IGanttData): void;
    /**
     * Method to validate task with predecessor
     * @param parentGanttRecord
     * @param childGanttRecord
     */
    private validateChildGanttRecord;
    /**
     *
     * @param ganttRecord
     * @param predecessorsCollection
     * @private
     */
    getPredecessorDate(ganttRecord: IGanttData, predecessorsCollection: IPredecessor[]): Date;
    /**
     * Get validated start date as per predecessor type
     * @param ganttRecord
     * @param parentGanttRecord
     * @param predecessor
     */
    private getValidatedStartDate;
    /**
     *
     * @param date
     * @param predecessor
     * @param isMilestone
     * @param record
     */
    private updateDateByOffset;
    /**
     *
     * @param records
     * @private
     */
    createConnectorLinesCollection(records: IGanttData[]): void;
    /**
     *
     * @param predecessorsCollection
     */
    private addPredecessorsCollection;
    /**
     * To refresh connector line object collections
     * @param parentGanttRecord
     * @param childGanttRecord
     * @param predecessor
     * @private
     */
    updateConnectorLineObject(parentGanttRecord: IGanttData, childGanttRecord: IGanttData, predecessor: IPredecessor): IConnectorLineObject;
    /**
     *
     * @param childGanttRecord
     * @param previousValue
     * @param validationOn
     * @private
     */
    validatePredecessor(childGanttRecord: IGanttData, previousValue: IPredecessor[], validationOn: string): void;
    /**
     * Method to get validate able predecessor alone from record
     * @param record
     * @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;
    /**
     * @private
     */
    dialogObj: popups.Dialog;
    private preTableCollection;
    private preTaskIds;
    private localeObj;
    private parent;
    private rowIndex;
    private types;
    private editedRecord;
    private rowData;
    private beforeOpenArgs;
    private inputs;
    /**
     * @private
     */
    updatedEditFields: EditDialogFieldSettingsModel[];
    private updatedAddFields;
    private addedRecord;
    private dialogEditValidationFlag;
    private tabObj;
    private ganttResources;
    /**
     * Constructor for render module
     */
    constructor(parent: Gantt);
    private wireEvents;
    private dblClickHandler;
    /**
     * Method to validate add and edit dialog fields property.
     * @private
     */
    processDialogFields(): void;
    private validateDialogFields;
    /**
     * Method to get general column fields
     */
    private getGeneralColumnFields;
    /**
     * Method to get custom column fields
     */
    private getCustomColumnFields;
    /**
     * Get default dialog fields when fields are not defined for add and edit dialogs
     */
    private getDefaultDialogFields;
    /**
     * @private
     */
    openAddDialog(): void;
    /**
     *
     * @return {Date}
     * @private
     */
    getMinimumStartDate(): Date;
    /**
     * @private
     */
    composeAddRecord(): IGanttData;
    /**
     * @private
     */
    openToolbarEditDialog(): void;
    /**
     * @param taskId
     * @private
     */
    openEditDialog(taskId: number | string | Object): void;
    private createDialog;
    private buttonClick;
    /**
     * @private
     */
    dialogClose(): void;
    private resetValues;
    private destroyDialogInnerElements;
    private destroyCustomField;
    /**
     * @private
     */
    destroy(): void;
    /**
     * Method to get current edit dialog fields value
     */
    private getEditFields;
    private createTab;
    private tabSelectedEvent;
    private responsiveTabContent;
    private getFieldsModel;
    private createInputModel;
    private validateScheduleFields;
    private updateScheduleFields;
    private validateDuration;
    private validateStartDate;
    private validateEndDate;
    /**
     *
     * @param columnName
     * @param value
     * @param currentData
     * @private
     */
    validateScheduleValuesByCurrentField(columnName: string, value: string, currentData: IGanttData): boolean;
    private getPredecessorModel;
    private getResourcesModel;
    private getNotesModel;
    private createDivElement;
    private createInputElement;
    private renderTabItems;
    private renderGeneralTab;
    private isCheckIsDisabled;
    private renderPredecessorTab;
    private updateResourceCollection;
    private renderResourceTab;
    private renderCustomTab;
    private renderNotesTab;
    private renderInputElements;
    private taskNameCollection;
    private predecessorEditCollection;
    private updatePredecessorDropDownData;
    private validSuccessorTasks;
    private getPredecessorType;
    private initiateDialogSave;
    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;
}
//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
     */
    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
     */
    private updateDefaultColumnEditors;
    /**
     * Method to update editors for id column in Gantt
     */
    private updateIDColumnEditParams;
    /**
     * Method to update edit params of default progress column
     */
    private updateProgessColumnEditParams;
    /**
     * Assign edit params for id and progress columns
     */
    private updateEditParams;
    /**
     * Method to update resource column editor for default resource column
     */
    private updateResourceColumnEditor;
    /**
     * Method to create resource custom editor
     */
    private getResourceEditor;
    /**
     * @private
     */
    reUpdateEditModules(): void;
    private recordDoubleClick;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    deletedTaskDetails: IGanttData[];
    /**
     * Method to update record with new values.
     * @param {Object} data - Defines new data to update.
     */
    updateRecordByID(data: Object): void;
    /**
     *
     * @param data
     * @param ganttData
     * @param isFromDialog
     * @private
     */
    validateUpdateValues(data: Object, ganttData: IGanttData, isFromDialog?: boolean): void;
    private validateScheduleValues;
    private validateScheduleByTwoValues;
    private isTaskbarMoved;
    private isPredecessorUpdated;
    /**
     * Method to check need to open predecessor validate dialog
     * @param data
     */
    private isCheckPredecessor;
    /**
     * Method to update all dependent record on edit action
     * @param args
     * @private
     */
    initiateUpdateAction(args: ITaskbarEditedEventArgs): void;
    /**
     *
     * @param data method to trigger validate predecessor link by dialog
     */
    private validateTaskEvent;
    private resetValidateArgs;
    /**
     *
     * @param args - Edited event args like taskbar editing, dialog editing, cell editing
     * @private
     */
    updateEditedTask(args: ITaskbarEditedEventArgs): void;
    /**
     * To update parent records while perform drag action.
     * @return {void}
     * @private
     */
    updateParentChildRecord(data: IGanttData): void;
    /**
     *
     * @param data
     * @param newStartDate
     */
    private calculateDateByRoundOffDuration;
    /**
     * To update progress value of parent tasks
     * @param cloneParent
     * @private
     */
    updateParentProgress(cloneParent: IParent): void;
    /**
     * Method to revert cell edit action
     * @param args
     * @private
     */
    revertCellEdit(args: object): void;
    /**
     *
     * @return {void}
     * @private
     */
    reUpdatePreviousRecords(isRefreshChart?: boolean, isRefreshGrid?: boolean): void;
    /**
     * Copy previous task data value to edited task data
     * @param existing
     * @param newValue
     */
    private copyTaskData;
    /**
     * To update schedule date on editing.
     * @return {void}
     * @private
     */
    private updateScheduleDatesOnEditing;
    /**
     *
     * @param ganttRecord
     */
    private updateChildItems;
    /**
     * To get updated child records.
     * @param parentRecord
     * @param childLists
     */
    private getUpdatableChildRecords;
    /**
     *
     * @private
     */
    initiateSaveAction(args: ITaskbarEditedEventArgs): void;
    private dmSuccess;
    private dmFailure;
    /**
     * Method for save action success for local and remote data
     */
    private saveSuccess;
    private resetEditProperties;
    /**
     * @private
     */
    endEditAction(args: ITaskbarEditedEventArgs): void;
    private saveFailed;
    /**
     * To render delete confirmation dialog
     * @return {void}
     */
    private renderDeleteConfirmDialog;
    private closeConfirmDialog;
    private confirmDeleteOkButton;
    /**
     * @private
     */
    startDeleteAction(): void;
    private deleteSelectedItems;
    /**
     * Method to delete record.
     * @param {number | string | number[] | string[] | IGanttData | IGanttData[]} taskDetail - Defines the details of data to delete.
     * @public
     */
    deleteRecord(taskDetail: number | string | number[] | string[] | IGanttData | IGanttData[]): void;
    /**
     * To update 'targetedRecords collection' from given array collection
     * @param taskDetailArray
     */
    private updateTargetedRecords;
    private deleteRow;
    private removePredecessorOnDelete;
    private updatePredecessorValues;
    private deleteChildRecords;
    private removeFromDataSource;
    private removeData;
    private initiateDeleteAction;
    private deleteSuccess;
    /**
     *
     * @return {number | string}
     * @private
     */
    getNewTaskId(): number | string;
    /**
     *
     * @return {void}
     * @private
     */
    private prepareNewlyAddedData;
    /**
     *
     * @return {IGanttData}
     * @private
     */
    private updateNewlyAddedDataBeforeAjax;
    /**
     *
     * @return {number}
     * @private
     */
    private getChildCount;
    /**
     *
     * @return {number}
     * @private
     */
    private getVisibleChildRecordCount;
    /**
     *
     * @return {void}
     * @private
     */
    private updatePredecessorOnIndentOutdent;
    /**
     *
     * @return {string}
     * @private
     */
    private predecessorToString;
    /**
     *
     * @return {void}
     * @private
     */
    private backUpAndPushNewlyAddedRecord;
    /**
     *
     * @return {ITaskAddedEventArgs}
     * @private
     */
    private recordCollectionUpdate;
    /**
     *
     * @return {ITaskAddedEventArgs}
     * @private
     */
    private constructTaskAddedEventArgs;
    /**
     *
     * @return {void}
     * @private
     */
    private addSuccess;
    /**
     *
     * @return {void}
     * @private
     */
    private updateRealDataSource;
    /**
     *
     * @return {boolean | void}
     * @private
     */
    private addDataInRealDataSource;
    /**
     * Method to add new record.
     * @param {Object | IGanttData} data - Defines the new data to add.
     * @param {RowPosition} rowPosition - Defines the position of row.
     * @param {number} rowIndex - Defines the row index.
     * @return {void}
     * @private
     */
    addRecord(data?: Object | IGanttData, rowPosition?: RowPosition, rowIndex?: number): void;
    /**
     * Method to update unique id collection in TreeGrid
     */
    private updateTreeGridUniqueID;
    private refreshNewlyAddedRecord;
    /**
     *
     * @return {void}
     * @private
     */
    private removeAddedRecord;
}
//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
     */
    constructor(gantt: Gantt);
    /**
     * For internal use only - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * To destroy excel export module.
     * @private
     */
    destroy(): void;
    /**
     * To bind excel exporting events.
     * @return {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
     */
    private updateCustomFilters;
    private updateModel;
    private addEventListener;
    private initiateFiltering;
    /**
     * To get filter menu UI
     * @param column
     */
    private getCustomFilterUi;
    private getDatePickerFilter;
    private getDateTimePickerFilter;
    private getDurationFilter;
    /**
     * Remove filter menu while opening column chooser menu
     * @param args
     */
    private columnMenuOpen;
    private actionBegin;
    private actionComplete;
    private setPosition;
    private updateFilterMenuPosition;
    private removeEventListener;
    /**
     * To destroy module
     */
    destroy(): 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;
    selectedRowIndexes: number[];
    enableSelectMultiTouch: boolean;
    startIndex: number;
    endIndex: number;
    private openPopup;
    constructor(gantt: Gantt);
    /**
     * Get module name
     */
    private getModuleName;
    private wireEvents;
    /**
     * To update selected index.
     * @return {void}
     * @private
     */
    selectRowByIndex(): void;
    /**
     * To bind selection events.
     * @return {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.
     * @return {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.
     * @return {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.
     * @return {void}
     */
    selectRow(index: number, isToggle?: boolean): void;
    /**
     * Selects a collection of rows by indexes.
     * @param  {number[]} records - Defines the collection of row indexes.
     * @return {void}
     */
    selectRows(records: number[]): void;
    /**
     * Gets the collection of selected row indexes.
     * @return {number[]}
     */
    getSelectedRowIndexes(): number[];
    /**
     * Gets the collection of selected row and cell indexes.
     * @return {number[]}
     */
    getSelectedRowCellIndexes(): grids.ISelectedCell[];
    /**
     * Gets the collection of selected records.
     * @return {Object[]}
     */
    getSelectedRecords(): Object[];
    /**
     * Get the selected records for cell selection.
     * @return {IGanttData[]}
     */
    getCellSelectedRecords(): IGanttData[];
    /**
     * Gets the collection of selected rows.
     * @return {Element[]}
     */
    getSelectedRows(): Element[];
    /**
     * Deselects the current selected rows and cells.
     * @return {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.
     * @return {void}
     */
    selectRowsByRange(startIndex: number, endIndex?: number): void;
    private addClass;
    private removeClass;
    private showPopup;
    /** @private */
    hidePopUp(): void;
    private popUpClickHandler;
    /**
     * @return {void}
     * @private
     */
    private mouseUpHandler;
    /**
     * To destroy the selection module.
     * @return {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.
     * @private
     */
    private getModuleName;
    /**
     * @private
     */
    private addEventListener;
    /**
     * @hidden
     */
    private removeEventListener;
    /**
     * Destroys the Sorting of TreeGrid.
     * @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.
     */
    sortColumn(columnName: string, direction: grids.SortDirection, isMultiSort?: boolean): void;
    /**
     * Method to clear all sorted columns.
     */
    clearSorting(): void;
    /**
     * The function used to update sortSettings of TreeGrid.
     * @return {void}
     * @hidden
     */
    private updateModel;
    /**
     * To clear sorting for specific column.
     * @param {string} columnName - Defines the sorted column name to remove.
     */
    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 {
    protected parent: Gantt;
    taskBarEditElement: Element;
    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;
    drawPredecessor: boolean;
    private highlightedSecondElement;
    private editTooltip;
    private canDrag;
    /** @private */
    tapPointOnFocus: boolean;
    private editElement;
    touchEdit: boolean;
    constructor(ganttObj?: Gantt);
    private wireEvents;
    /**
     * To initialize the public property.
     * @return {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.
     * @return {void}
     * @private
     */
    updateTaskBarEditElement(e: PointerEvent): void;
    /**
     * To show/hide taskbar editing elements.
     * @return {void}
     * @private
     */
    showHideTaskBarEditingElements(element: Element, secondElement: Element, fadeConnectorLine?: boolean): void;
    /**
     * To get taskbar edit actions.
     * @return {string}
     * @private
     */
    private getTaskBarAction;
    /**
     * To update property while perform mouse down.
     * @return {void}
     * @private
     */
    private updateMouseDownProperties;
    private isMouseDragCheck;
    /**
     * To handle mouse move action in chart
     * @param e
     * @private
     */
    mouseMoveAction(event: PointerEvent): void;
    /**
     * Method to update taskbar editing action on mous move.
     * @return {Boolean}
     * @private
     */
    taskBarEditingAction(e: PointerEvent, isMouseClick: boolean): void;
    /**
     * To update property while perform mouse move.
     * @return {void}
     * @private
     */
    private updateMouseMoveProperties;
    /**
     * To start the scroll timer.
     * @return {void}
     * @private
     */
    startScrollTimer(direction: string): void;
    /**
     * To stop the scroll timer.
     * @return {void}
     * @private
     */
    stopScrollTimer(): void;
    /**
     * To update left and width while perform taskbar drag operation.
     * @return {void}
     * @private
     */
    private enableDragging;
    /**
     * To update left and width while perform progress resize operation.
     * @return {void}
     * @private
     */
    private performProgressResize;
    /**
     * To update left and width while perform taskbar left resize operation.
     * @return {void}
     * @private
     */
    private enableLeftResizing;
    /**
     * Update mouse position and edited item value
     * @param e
     * @param item
     */
    private updateEditPosition;
    /**
     *  To update milestone property.
     * @return {void}
     * @private
     */
    private updateIsMilestone;
    /**
     * To update left and width while perform taskbar right resize operation.
     * @return {void}
     * @private
     */
    private enableRightResizing;
    /**
     * To updated startDate and endDate while perform taskbar edit operation.
     * @return {void}
     * @private
     */
    private updateEditedItem;
    /**
     * To get roundoff enddate.
     * @return {number}
     * @private
     */
    private getRoundOffEndLeft;
    /**
     * To get roundoff startdate.
     * @return {number}
     * @private
     */
    getRoundOffStartLeft(ganttRecord: ITaskData, isRoundOff: Boolean): number;
    /**
     * To get date by left value.
     * @return {Date}
     * @private
     */
    getDateByLeft(left: number): Date;
    /**
     * To get timezone offset.
     * @return {number}
     * @private
     */
    private getDefaultTZOffset;
    /**
     * To check whether the date is in DST.
     * @return {boolean}
     * @private
     */
    private isInDst;
    /**
     * To set item position.
     * @return {void}
     * @private
     */
    private setItemPosition;
    /**
     * To handle mouse up event in chart
     * @param e
     * @private
     */
    mouseUpHandler(e: PointerEvent): void;
    /**
     * To perform taskbar edit operation.
     * @return {void}
     * @private
     */
    taskBarEditedAction(event: PointerEvent): void;
    /**
     * To cancel the taskbar edt action.
     * @return {void}
     * @private
     */
    cancelTaskbarEditActionInMouseLeave(): void;
    /**
     * To trigger taskbar edited event.
     * @return {void}
     * @private
     */
    taskbarEdited(arg: ITaskbarEditedEventArgs): void;
    /**
     * To get progress in percentage.
     * @return {number}
     * @private
     */
    private getProgressPercent;
    /**
     * false line implementation.
     * @return {void}
     * @private
     */
    private drawFalseLine;
    /**
     *
     * @param isRemoveConnectorPointDisplay
     * @private
     */
    removeFalseLine(isRemoveConnectorPointDisplay: boolean): void;
    /**
     *
     * @param e
     * @private
     */
    updateConnectorLineSecondProperties(e: PointerEvent): void;
    private triggerDependencyEvent;
    private getCoordinate;
    private getElementByPosition;
    private multipleSelectionEnabled;
    private unWireEvents;
    /**
     * @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;
    /**
     * @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
     * @hidden
     */
    updateSearchTextBox(): void;
    private getItems;
    private getItem;
    private getItemObject;
    private toolbarClickHandler;
    /**
     *
     * @return {void}
     * @private
     */
    zoomIn(): void;
    /**
     *
     * @return {void}
     * @private
     */
    zoomToFit(): void;
    /**
     *
     * @return {void}
     * @private
     */
    zoomOut(): void;
    /**
     * To refresh toolbar items bases current state of tasks
     */
    refreshToolbarItems(): 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.
     * @return {void}
     * @hidden
     */
    enableItems(items: string[], isEnable: boolean): void;
    /**
     * Destroys the Sorting of TreeGrid.
     * @method destroy
     * @return {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 milestoneTop: string;
export  const milestoneBottom: 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 traceChildTaskBar: string;
export  const traceChildProgressBar: string;
export  const traceParentTaskBar: string;
export  const traceParentProgressBar: string;
export  const traceUnscheduledTask: 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 connectorLineRightArrow: string;
export  const connectorLineLeftArrow: string;
export  const connectorLineZIndex: string;
export  const connectorLineHover: string;
export  const connectorLineHoverZIndex: string;
export  const connectorLineRightArrowHover: string;
export  const connectorLineLeftArrowHover: 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 addIcon: 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;
//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;
    constructor(parent: Gantt);
    /**
     *
     */
    private isValidateNonWorkDays;
    /**
     * Method to convert given date value as valid start date
     * @param date
     * @param ganttProp
     * @param validateAsMilestone
     * @private
     */
    checkStartDate(date: Date, ganttProp?: ITaskData, validateAsMilestone?: boolean): Date;
    /**
     * To update given date value to valid end date
     * @param date
     * @param ganttProp
     * @private
     */
    checkEndDate(date: Date, ganttProp?: ITaskData): Date;
    /**
     * To validate the baseline start date
     * @param date
     * @private
     */
    checkBaselineStartDate(date: Date): Date;
    /**
     * To validate baseline end date
     * @param date
     * @private
     */
    checkBaselineEndDate(date: Date): Date;
    /**
     * To calculate start date value from duration and end date
     * @param ganttData
     * @private
     */
    calculateStartDate(ganttData: IGanttData): void;
    /**
     *
     * @param ganttData
     * @private
     */
    calculateEndDate(ganttData: IGanttData): void;
    /**
     * To calculate duration from start date and end date
     * @param {IGanttData} ganttData - Defines the gantt data.
     */
    calculateDuration(ganttData: IGanttData): void;
    /**
     *
     * @param sDate Method to get total nonworking time between two date values
     * @param eDate
     * @param isAutoSchedule
     * @param isCheckTimeZone
     */
    private getNonworkingTime;
    /**
     *
     * @param startDate
     * @param endDate
     * @param durationUnit
     * @param isAutoSchedule
     * @param isCheckTimeZone
     * @private
     */
    getDuration(startDate: Date, endDate: Date, durationUnit: string, isAutoSchedule: boolean, isCheckTimeZone?: boolean): number;
    /**
     *
     * @param duration
     * @param durationUnit
     */
    private getDurationAsSeconds;
    /**
     * To get date from start date and duration
     * @param startDate
     * @param duration
     * @param durationUnit
     * @param ganttProp
     * @param validateAsMilestone
     * @private
     */
    getEndDate(startDate: Date, duration: number, durationUnit: string, ganttProp: ITaskData, validateAsMilestone: boolean): Date;
    /**
     *
     * @param endDate To calculate start date vale from end date and duration
     * @param duration
     * @param durationUnit
     * @param ganttProp
     * @private
     */
    getStartDate(endDate: Date, duration: number, durationUnit: string, ganttProp: ITaskData): Date;
    /**
     * @private
     */
    protected getProjectStartDate(ganttProp: ITaskData, isLoad?: boolean): Date;
    /**
     * @private
     * @param ganttProp
     */
    getValidStartDate(ganttProp: ITaskData): Date;
    /**
     *
     * @param ganttProp
     * @private
     */
    getValidEndDate(ganttProp: ITaskData): Date;
    /**
     * @private
     */
    getSecondsPerDay(): number;
    /**
     *
     * @param value
     * @param isFromDialog
     * @private
     */
    getDurationValue(value: string | number, isFromDialog?: boolean): Object;
    /**
     *
     * @param date
     */
    protected getNextWorkingDay(date: Date): Date;
    /**
     * get weekend days between two dates without including args dates
     * @param startDate
     * @param endDate
     */
    protected getWeekendCount(startDate: Date, endDate: Date): number;
    /**
     *
     * @param startDate
     * @param endDate
     * @param isCheckTimeZone
     */
    protected getNumberOfSeconds(startDate: Date, endDate: Date, isCheckTimeZone: boolean): number;
    /**
     *
     * @param startDate
     * @param endDate
     */
    protected getHolidaysCount(startDate: Date, endDate: Date): number;
    /**
     * @private
     */
    getHolidayDates(): number[];
    private isOnHolidayOrWeekEnd;
    /**
     * To calculate non working times in given date
     * @param startDate
     * @param endDate
     */
    protected getNonWorkingSecondsOnDate(startDate: Date, endDate: Date): number;
    /**
     *
     * @param date
     */
    protected getPreviousWorkingDay(date: Date): Date;
    /**
     * To get non-working day indexes.
     * @return {void}
     * @private
     */
    getNonWorkingDayIndex(): void;
    /**
     *
     * @param seconds
     * @param date
     * @private
     */
    setTime(seconds: number, date: Date): void;
    /**
     *
     */
    protected getTimeDifference(startDate: Date, endDate: Date, isCheckTimeZone?: boolean): number;
    /**
     *
     */
    protected updateDateWithTimeZone(sDate: Date, eDate: Date): void;
    /**
     *
     * @param date
     */
    protected getSecondsInDecimal(date: Date): number;
    /**
     * @param date
     * @private
     */
    getDateFromFormat(date: string | Date): Date;
    /**
     * @private
     */
    compareDates(date1: Date, date2: Date): number;
    /**
     *
     * @param duration
     * @param durationUnit
     * @private
     */
    getDurationString(duration: number, durationUnit: string): string;
    /**
     *
     * @param editArgs
     * @private
     */
    calculateProjectDates(editArgs?: Object): void;
}
//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 is CSV */
'CsvExport';
/**
 * 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 filter type of Gantt
 */
export  type FilterType = 
/** Defines filter type as menu */
'Menu';
/**
 * 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 contextmenu types.
 * @hidden
 */
export  type ContextMenuType = 
/** Defines the header type context menu */
'Header' | 
/** Defines the content type context menu */
'Content';
/**
 * @hidden
 */
export  type CObject = {
    [key: string]: Object;
};
//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;
    scrollElement: HTMLElement;
    scrollObject: ChartScroll;
    isExpandCollapseFromChart: boolean;
    isExpandAll: boolean;
    keyboardModule: base.KeyboardEvents;
    constructor(parent: Gantt);
    private addEventListener;
    private renderChartContents;
    /**
     * Method to render top level containers in Gantt chart
     * @private
     */
    renderChartContainer(): void;
    /**
     * method to render timeline, holidays, weekends at load time
     */
    private renderInitialContents;
    private renderChartElements;
    /**
     * @private
     */
    renderTimelineContainer(): void;
    /**
     * initiate chart container
     */
    private renderBodyContainers;
    private updateWidthAndHeight;
    /**
     * Method to update bottom border for chart rows
     */
    updateLastRowBottomWidth(): void;
    private removeEventListener;
    /**
     * Click event handler in chart side
     */
    private ganttChartMouseDown;
    private ganttChartMouseClick;
    private ganttChartMouseUp;
    /**
     *
     * @param e
     */
    private scrollToTarget;
    /**
     * To focus selected task in chart side
     * @private
     */
    updateScrollLeft(scrollLeft: number): void;
    /**
     *  Method trigger while perform mouse up action.
     * @return {void}
     * @private
     */
    private documentMouseUp;
    /**
     *  Method trigger while perform mouse leave action.
     * @return {void}
     * @private
     */
    private ganttChartLeave;
    /**
     *  Method trigger while perform mouse move action.
     * @return {void}
     * @private
     */
    private ganttChartMove;
    /**
     * Double click handler for chart
     * @param e
     */
    private doubleClickHandler;
    /**
     * @private
     */
    getRecordByTarget(e: PointerEvent): IGanttData;
    /**
     * To get gantt chart row elements
     * @return {NodeListOf<Element>}
     * @private
     */
    getChartRows(): NodeListOf<Element>;
    /**
     * Expand Collapse operations from gantt chart side
     * @return {void}
     * @param target
     * @private
     */
    private chartExpandCollapseRequest;
    /**
     * @private
     */
    reRenderConnectorLines(): void;
    /**
     * To collapse gantt rows
     * @return {void}
     * @param args
     * @private
     */
    collapseGanttRow(args: object, isCancel?: boolean): void;
    /**
     * @return {void}
     * @param args
     * @private
     */
    collapsedGanttRow(args: object): void;
    /**
     * To expand gantt rows
     * @return {void}
     * @param args
     * @private
     */
    expandGanttRow(args: object, isCancel?: boolean): void;
    /**
     * @return {void}
     * @param args
     * @private
     */
    expandedGanttRow(args: object): void;
    /**
     * On expand collapse operation row properties will be updated here.
     * @return {void}
     * @param action
     * @param rowElement
     * @param record
     * @param isChild
     * @private
     */
    private expandCollapseChartRows;
    /**
     * Public method to expand or collapse all the rows of Gantt
     * @return {void}
     * @param action
     * @private
     */
    expandCollapseAll(action: string): void;
    /**
     * Public method to expand particular level of rows.
     * @return {void}
     * @param level
     * @private
     */
    expandAtLevel(level: number): void;
    /**
     * Public method to collapse particular level of rows.
     * @return {void}
     * @param level
     * @private
     */
    collapseAtLevel(level: number): void;
    /**
     * Event Binding for gantt chart click
     */
    private wireEvents;
    private unWireEvents;
    /**
     * To get record by taskbar element.
     * @return {IGanttData}
     * @private
     */
    getRecordByTaskBar(target: Element): IGanttData;
    /**
     * To get index by taskbar element.
     * @return {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.
     * @hidden
     * @default true
     */
    allowKeyboard?: 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[];
    /**
     * 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
     * @blazorType 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`.
     * @isGenericType true
     * @default []
     */
    dataSource?: Object[] | data.DataManager;
    /**
     * `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.
     */
    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.
     */
    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;
    /**
     * `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
     * @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
     * @blazorType int
     */
    rowHeight?: number;
    /**
     * Defines height of taskbar element in Gantt.
     * @aspType int?
     * @blazorType int
     * @isBlazorNullableType true
     */
    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 background color of dependency lines.
     * @default null
     */
    connectorLineBackground?: string;
    /**
     * Defines width of dependency lines.
     * @default 1
     * @aspType int
     * @blazorType int
     */
    connectorLineWidth?: number;
    /**
     * Defines column collection displayed in grid
     * If the `columns` declaration was empty then `columns` are automatically populated from `taskSettings` value.
     * @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.
     * @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.
     * @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
     * @blazorType int
     */
    selectedRowIndex?: number;
    /**
     * Defines customized working time of project.
     */
    dayWorkingTime?: DayWorkingTimeModel[];
    /**
     * Defines holidays presented in project timeline.
     * @default []
     */
    holidays?: HolidayModel[];
    /**
     * Defines events and status of project throughout the timeline.
     * @default []
     */
    eventMarkers?: EventMarkerModel[];
    /**
     * Defines mapping properties to find task values such as id, start date, end date, duration and progress values from data source.
     */
    taskFields?: TaskFieldsModel;
    /**
     * Configures timeline settings of Gantt.
     * Defines default timeline modes or customized top tier mode and bottom tier mode or single tier only.
     */
    timelineSettings?: TimelineSettingsModel;
    /**
     * Configures the sort settings of the Gantt.
     * @default {columns:[]}
     */
    sortSettings?: SortSettingsModel;
    /**
     * Configures edit settings of Gantt.
     * @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.
     * @default { showTooltip: true } 
     */
    tooltipSettings?: TooltipSettingsModel;
    /**
     * Configures the selection settings.
     * @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 `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 `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;
    /**
     * If `contextMenuItems` are array collection of menu items in Context Menu.
     * @default null
     */
    contextMenuItems?: ContextMenuItem[] | grids.ContextMenuItemModel[];
    /**
     * Configures the filter settings for Gantt.
     * @default {columns: [], type: 'Menu' }
     */
    filterSettings?: FilterSettingsModel;
    /**
     * Configures the search settings for Gantt.
     */
    searchSettings?: SearchSettingsModel;
    /**
     * Configures the splitter settings for Gantt.
     */
    splitterSettings?: SplitterSettingsModel;
    /**
     * This will be triggered after the taskbar element is appended to the Gantt element.
     * @event 
     */
    queryTaskbarInfo?: base.EmitType<IQueryTaskbarInfoEventArgs>;
    /**
     * Triggers before Gantt data is exported to Excel file.
     * @deprecated
     * @event
     */
    beforeExcelExport?: base.EmitType<Object>;
    /**
     * Triggers after Gantt data is exported to Excel file.
     * @deprecated
     * @event
     */
    excelExportComplete?: base.EmitType<grids.ExcelExportCompleteArgs>;
    /**
     * Triggers before exporting each cell to Excel file.
     * You can also customize the Excel cells.
     * @deprecated
     * @event
     */
    excelQueryCellInfo?: base.EmitType<grids.ExcelQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each header cell to Excel file.
     * You can also customize the Excel cells.
     * @deprecated
     * @event
     */
    excelHeaderQueryCellInfo?: base.EmitType<grids.ExcelHeaderQueryCellInfoEventArgs>;
    /**
     * This will be triggered before the row getting collapsed.
     * @event
     */
    collapsing?: base.EmitType<ICollapsingEventArgs>;
    /**
     * This will be triggered after the row getting collapsed.
     * @event
     */
    collapsed?: base.EmitType<ICollapsingEventArgs>;
    /**
     * This will be triggered before the row getting expanded.
     * @event 
     */
    expanding?: base.EmitType<ICollapsingEventArgs>;
    /**
     * This will be triggered after the row getting expanded.
     * @event
     */
    expanded?: base.EmitType<ICollapsingEventArgs>;
    /**
     * Triggers when Gantt actions such as sorting, filtering, searching etc., starts.
     * @blazorproperty 'OnActionBegin'
     * @blazorType Syncfusion.EJ2.Blazor.Gantt.ActionBeginArgs<TValue>
     * @event
     */
    /* tslint:disable-next-line */
    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
     * @blazorproperty 'OnActionComplete'
     * @blazorType Syncfusion.EJ2.Blazor.Gantt.ActionCompleteArgs<TValue>
     */
    actionComplete?: base.EmitType<grids.FilterEventArgs | grids.SortEventArgs | ITaskAddedEventArgs | IKeyPressedEventArgs | ZoomEventArgs>;
    /**
     * Triggers when actions are failed.
     * @event
     * @blazorproperty 'OnActionFailure'
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.FailureEventArgs
     */
    actionFailure?: base.EmitType<grids.FailureEventArgs>;
    /**
     * This will be triggered taskbar was dragged and dropped on new position.
     * @event
     */
    taskbarEdited?: base.EmitType<ITaskbarEditedEventArgs>;
    /**
     * This will be triggered when a task get saved by cell edit.
     * @event 
     */
    endEdit?: base.EmitType<ITaskbarEditedEventArgs>;
    /**
     * This will be triggered a cell get begins to edit.
     * @event
     * @blazorproperty 'OnCellEdit'
     */
    cellEdit?: base.EmitType<CellEditArgs>;
    /**
     * Triggered before the Gantt control gets rendered.
     * @event
     * @blazorProperty 'OnLoad'
     */
    load?: base.EmitType<Object>;
    /**
     * Triggers when the component is created.
     * @event
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     * @event
     */
    destroyed?: base.EmitType<Object>;
    /**
     * This event will be triggered when taskbar was in dragging state.
     * @event 
     */
    taskbarEditing?: base.EmitType<ITaskbarEditedEventArgs>;
    /**
     * Triggers when data source is populated in the Grid.
     * @event
     */
    dataBound?: base.EmitType<Object>;
    /**
     * Triggers when column resize starts.
     * @deprecated
     * @event
     */
    resizeStart?: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers on column resizing.
     * @deprecated
     * @event
     */
    resizing?: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers when column resize ends.
     * @deprecated
     * @event
     */
    resizeStop?: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers when splitter resizing starts.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Layouts.layouts.ResizeEventArgs
     */
    splitterResizeStart?: base.EmitType<layouts.ResizeEventArgs>;
    /**
     * Triggers when splitter bar was dragging.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Layouts.layouts.ResizingEventArgs
     */
    splitterResizing?: base.EmitType<layouts.ResizingEventArgs>;
    /**
     * Triggers when splitter resizing action completed.
     * @event
     */
    splitterResized?: base.EmitType<ISplitterResizedEventArgs>;
    /**
     * Triggers when column header element drag (move) starts.
     * @deprecated 
     * @event
     */
    columnDragStart?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers when column header element is dragged (moved) continuously.
     * @deprecated 
     * @event
     */
    columnDrag?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers when a column header element is dropped on the target column.
     * @deprecated 
     * @event
     */
    columnDrop?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers before tooltip get rendered.
     * @event 
     */
    beforeTooltipRender?: base.EmitType<BeforeTooltipRenderEventArgs>;
    /**
     * Triggers before row selection occurs.
     * @event
     */
    rowSelecting?: base.EmitType<RowSelectingEventArgs>;
    /**
     * Triggers after a row is selected.
     * @event
     */
    rowSelected?: base.EmitType<RowSelectEventArgs>;
    /**
     * Triggers before deselecting the selected row.
     * @deprecated
     * @event
     */
    rowDeselecting?: base.EmitType<RowDeselectEventArgs>;
    /**
     * Triggers when a selected row is deselected.
     * @event
     */
    rowDeselected?: base.EmitType<RowDeselectEventArgs>;
    /**
     * Triggers before any cell selection occurs.
     * @event
     */
    cellSelecting?: base.EmitType<CellSelectingEventArgs>;
    /**
     * Triggers after a cell is selected.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.CellSelectEventArgs<TValue>
     */
    cellSelected?: base.EmitType<grids.CellSelectEventArgs>;
    /**
     * Triggers before the selected cell is deselecting.
     * @deprecated
     * @event 
     */
    cellDeselecting?: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * Triggers when a particular selected cell is deselected.
     * @deprecated
     * @event 
     */
    cellDeselected?: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * This will be triggered before the header cell element is appended to the Grid element.
     * @event 
     */
    queryCellInfo?: base.EmitType<QueryCellInfoEventArgs>;
    /**
     * This will be triggered before the header cell element is appended to the Grid element.
     * @event 
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.HeaderCellInfoEventArgs 
     */
    headerCellInfo?: base.EmitType<grids.HeaderCellInfoEventArgs>;
    /**
     * This will be triggered before the row element is appended to the Grid element.
     * @event
     */
    rowDataBound?: base.EmitType<RowDataBoundEventArgs>;
    /**
     * Triggers before column menu opens.
     * @deprecated
     * @event 
     */
    columnMenuOpen?: base.EmitType<grids.ColumnMenuOpenEventArgs>;
    /**
     * Triggers when toolbar item was clicked.
     * @event
     * @blazorproperty 'OnToolbarClick'
     * @blazorType Syncfusion.EJ2.Blazor.Navigations.navigations.ClickEventArgs
     */
    toolbarClick?: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Triggers when click on column menu.
     * @event
     * @blazorproperty 'ColumnMenuClicked'
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ColumnMenuClickEventArgs
     */
    columnMenuClick?: base.EmitType<grids.ColumnMenuClickEventArgs>;
    /**
     * Triggers before context menu opens.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Gantt.ContextMenuOpenEventArgs<TValue>
     */
    contextMenuOpen?: base.EmitType<ContextMenuOpenEventArgs>;
    /**
     * Triggers when click on context menu.
     * @event
     * @blazorproperty 'ContextMenuItemClicked'
     * @blazorType Syncfusion.EJ2.Blazor.Gantt.ContextMenuClickEventArgs<TValue>
     */
    contextMenuClick?: base.EmitType<ContextMenuClickEventArgs>;
}
//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 */
    ganttChartModule: GanttChart;
    /** @hidden */
    treeGridModule: GanttTreeGrid;
    /** @hidden */
    chartRowsModule: ChartRows;
    /** @hidden */
    connectorLineModule: ConnectorLine;
    /** @hidden */
    connectorLineEditModule: ConnectorLineEdit;
    /** @hidden */
    splitterModule: Splitter;
    /** @hidden */
    treeGrid: treegrid.TreeGrid;
    /** @hidden */
    controlId: string;
    /** @hidden */
    ganttHeight: number;
    /** @hidden */
    ganttWidth: number;
    /** @hidden */
    predecessorModule: Dependency;
    /** @hidden */
    localeObj: base.L10n;
    /** @hidden */
    dataOperation: TaskProcessor;
    /** @hidden */
    flatData: IGanttData[];
    /** @hidden */
    currentViewData: IGanttData[];
    /** @hidden */
    ids: string[];
    /** @hidden */
    previousRecords: object;
    /** @hidden */
    editedRecords: 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 */
    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 `excelExportModule` is used to exporting Gantt data in excel format.
     */
    excelExportModule: ExcelExport;
    /**
     * The `dayMarkersModule` is used to manipulate event markers operation in Gantt.
     */
    dayMarkersModule: DayMarkers;
    /** @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;
    /** @hidden */
    staticSelectedRowIndex: number;
    protected needsID: boolean;
    /**
     * Enables or disables the key board interaction of Gantt.
     * @hidden
     * @default true
     */
    allowKeyboard: 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[];
    /**
     * 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
     * @blazorType 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`.
     * @isGenericType true
     * @default []
     */
    dataSource: Object[] | data.DataManager;
    /**
     * `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.
     */
    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.
     */
    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;
    /**
     * `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
     * @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
     * @blazorType int
     */
    rowHeight: number;
    /**
     * Defines height of taskbar element in Gantt.
     * @aspType int?
     * @blazorType int
     * @isBlazorNullableType true
     */
    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 background color of dependency lines.
     * @default null
     */
    connectorLineBackground: string;
    /**
     * Defines width of dependency lines.
     * @default 1
     * @aspType int
     * @blazorType int
     */
    connectorLineWidth: number;
    /**
     * Defines column collection displayed in grid
     * If the `columns` declaration was empty then `columns` are automatically populated from `taskSettings` value.
     * @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.
     * @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.
     * @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
     * @blazorType int
     */
    selectedRowIndex: number;
    /**
     * Defines customized working time of project.
     */
    dayWorkingTime: DayWorkingTimeModel[];
    /**
     * Defines holidays presented in project timeline.
     * @default []
     */
    holidays: HolidayModel[];
    /**
     * Defines events and status of project throughout the timeline.
     * @default []
     */
    eventMarkers: EventMarkerModel[];
    /**
     * Defines mapping properties to find task values such as id, start date, end date, duration and progress values from data source.
     */
    taskFields: TaskFieldsModel;
    /**
     * Configures timeline settings of Gantt.
     * Defines default timeline modes or customized top tier mode and bottom tier mode or single tier only.
     */
    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.
     * @default {columns:[]}
     */
    sortSettings: SortSettingsModel;
    /**
     * Configures edit settings of Gantt.
     * @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.
     * @default { showTooltip: true }
     */
    tooltipSettings: TooltipSettingsModel;
    /**
     * Configures the selection settings.
     * @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 `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 `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;
    /**
     * If `contextMenuItems` are array collection of menu items in Context Menu.
     * @default null
     */
    contextMenuItems: ContextMenuItem[] | grids.ContextMenuItemModel[];
    /**
     * Configures the filter settings for Gantt.
     * @default {columns: [], type: 'Menu' }
     */
    filterSettings: FilterSettingsModel;
    /**
     * Configures the search settings for Gantt.
     */
    searchSettings: SearchSettingsModel;
    /**
     * Configures the splitter settings for Gantt.
     */
    splitterSettings: SplitterSettingsModel;
    /**
     * @private
     */
    timelineModule: Timeline;
    /**
     * @private
     */
    dateValidationModule: DateProcessor;
    /**
     * @private
     */
    isTreeGridRendered: boolean;
    /**
     * @private
     */
    isGanttChartRendered: boolean;
    /**
     * This will be triggered after the taskbar element is appended to the Gantt element.
     * @event
     */
    queryTaskbarInfo: base.EmitType<IQueryTaskbarInfoEventArgs>;
    /**
     * Triggers before Gantt data is exported to Excel file.
     * @deprecated
     * @event
     */
    beforeExcelExport: base.EmitType<Object>;
    /**
     * Triggers after Gantt data is exported to Excel file.
     * @deprecated
     * @event
     */
    excelExportComplete: base.EmitType<grids.ExcelExportCompleteArgs>;
    /**
     * Triggers before exporting each cell to Excel file.
     * You can also customize the Excel cells.
     * @deprecated
     * @event
     */
    excelQueryCellInfo: base.EmitType<grids.ExcelQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each header cell to Excel file.
     * You can also customize the Excel cells.
     * @deprecated
     * @event
     */
    excelHeaderQueryCellInfo: base.EmitType<grids.ExcelHeaderQueryCellInfoEventArgs>;
    /**
     * This will be triggered before the row getting collapsed.
     * @event
     */
    collapsing: base.EmitType<ICollapsingEventArgs>;
    /**
     * This will be triggered after the row getting collapsed.
     * @event
     */
    collapsed: base.EmitType<ICollapsingEventArgs>;
    /**
     * This will be triggered before the row getting expanded.
     * @event
     */
    expanding: base.EmitType<ICollapsingEventArgs>;
    /**
     * This will be triggered after the row getting expanded.
     * @event
     */
    expanded: base.EmitType<ICollapsingEventArgs>;
    /**
     * Triggers when Gantt actions such as sorting, filtering, searching etc., starts.
     * @blazorproperty 'OnActionBegin'
     * @blazorType Syncfusion.EJ2.Blazor.Gantt.ActionBeginArgs<TValue>
     * @event
     */
    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
     * @blazorproperty 'OnActionComplete'
     * @blazorType Syncfusion.EJ2.Blazor.Gantt.ActionCompleteArgs<TValue>
     */
    actionComplete: base.EmitType<grids.FilterEventArgs | grids.SortEventArgs | ITaskAddedEventArgs | IKeyPressedEventArgs | ZoomEventArgs>;
    /**
     * Triggers when actions are failed.
     * @event
     * @blazorproperty 'OnActionFailure'
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.FailureEventArgs
     */
    actionFailure: base.EmitType<grids.FailureEventArgs>;
    /**
     * This will be triggered taskbar was dragged and dropped on new position.
     * @event
     */
    taskbarEdited: base.EmitType<ITaskbarEditedEventArgs>;
    /**
     * This will be triggered when a task get saved by cell edit.
     * @event
     */
    endEdit: base.EmitType<ITaskbarEditedEventArgs>;
    /**
     * This will be triggered a cell get begins to edit.
     * @event
     * @blazorproperty 'OnCellEdit'
     */
    cellEdit: base.EmitType<CellEditArgs>;
    /**
     * Triggered before the Gantt control gets rendered.
     * @event
     * @blazorProperty 'OnLoad'
     */
    load: base.EmitType<Object>;
    /**
     * Triggers when the component is created.
     * @event
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     * @event
     */
    destroyed: base.EmitType<Object>;
    /**
     * This event will be triggered when taskbar was in dragging state.
     * @event
     */
    taskbarEditing: base.EmitType<ITaskbarEditedEventArgs>;
    /**
     * Triggers when data source is populated in the Grid.
     * @event
     */
    dataBound: base.EmitType<Object>;
    /**
     * Triggers when column resize starts.
     * @deprecated
     * @event
     */
    resizeStart: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers on column resizing.
     * @deprecated
     * @event
     */
    resizing: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers when column resize ends.
     * @deprecated
     * @event
     */
    resizeStop: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers when splitter resizing starts.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Layouts.layouts.ResizeEventArgs
     */
    splitterResizeStart: base.EmitType<layouts.ResizeEventArgs>;
    /**
     * Triggers when splitter bar was dragging.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Layouts.layouts.ResizingEventArgs
     */
    splitterResizing: base.EmitType<layouts.ResizingEventArgs>;
    /**
     * Triggers when splitter resizing action completed.
     * @event
     */
    splitterResized: base.EmitType<ISplitterResizedEventArgs>;
    /**
     * Triggers when column header element drag (move) starts.
     * @deprecated
     * @event
     */
    columnDragStart: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers when column header element is dragged (moved) continuously.
     * @deprecated
     * @event
     */
    columnDrag: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers when a column header element is dropped on the target column.
     * @deprecated
     * @event
     */
    columnDrop: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers before tooltip get rendered.
     * @event
     */
    beforeTooltipRender: base.EmitType<BeforeTooltipRenderEventArgs>;
    /**
     * Triggers before row selection occurs.
     * @event
     */
    rowSelecting: base.EmitType<RowSelectingEventArgs>;
    /**
     * Triggers after a row is selected.
     * @event
     */
    rowSelected: base.EmitType<RowSelectEventArgs>;
    /**
     * Triggers before deselecting the selected row.
     * @deprecated
     * @event
     */
    rowDeselecting: base.EmitType<RowDeselectEventArgs>;
    /**
     * Triggers when a selected row is deselected.
     * @event
     */
    rowDeselected: base.EmitType<RowDeselectEventArgs>;
    /**
     * Triggers before any cell selection occurs.
     * @event
     */
    cellSelecting: base.EmitType<CellSelectingEventArgs>;
    /**
     * Triggers after a cell is selected.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.CellSelectEventArgs<TValue>
     */
    cellSelected: base.EmitType<grids.CellSelectEventArgs>;
    /**
     * Triggers before the selected cell is deselecting.
     * @deprecated
     * @event
     */
    cellDeselecting: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * Triggers when a particular selected cell is deselected.
     * @deprecated
     * @event
     */
    cellDeselected: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * This will be triggered before the header cell element is appended to the Grid element.
     * @event
     */
    queryCellInfo: base.EmitType<QueryCellInfoEventArgs>;
    /**
     * This will be triggered before the header cell element is appended to the Grid element.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.HeaderCellInfoEventArgs
     */
    headerCellInfo: base.EmitType<grids.HeaderCellInfoEventArgs>;
    /**
     * This will be triggered before the row element is appended to the Grid element.
     * @event
     */
    rowDataBound: base.EmitType<RowDataBoundEventArgs>;
    /**
     * Triggers before column menu opens.
     * @deprecated
     * @event
     */
    columnMenuOpen: base.EmitType<grids.ColumnMenuOpenEventArgs>;
    /**
     * Triggers when toolbar item was clicked.
     * @event
     * @blazorproperty 'OnToolbarClick'
     * @blazorType Syncfusion.EJ2.Blazor.Navigations.navigations.ClickEventArgs
     */
    toolbarClick: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Triggers when click on column menu.
     * @event
     * @blazorproperty 'ColumnMenuClicked'
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ColumnMenuClickEventArgs
     */
    columnMenuClick: base.EmitType<grids.ColumnMenuClickEventArgs>;
    /**
     * Triggers before context menu opens.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Gantt.ContextMenuOpenEventArgs<TValue>
     */
    contextMenuOpen: base.EmitType<ContextMenuOpenEventArgs>;
    /**
     * Triggers when click on context menu.
     * @event
     * @blazorproperty 'ContextMenuItemClicked'
     * @blazorType Syncfusion.EJ2.Blazor.Gantt.ContextMenuClickEventArgs<TValue>
     */
    contextMenuClick: base.EmitType<ContextMenuClickEventArgs>;
    constructor(options?: GanttModel, element?: string | HTMLElement);
    /**
     * To get the module name
     * @private
     */
    getModuleName(): string;
    /**
     * To perform key interaction in Gantt
     * @private
     */
    onKeyPress(e: base.KeyboardEventArgs): void | boolean;
    private expandCollapseKey;
    private upDownKeyNavigate;
    /**
     * For internal use only - Initialize the event handler
     * @private
     */
    protected preRender(): void;
    private initProperties;
    /**
     * To validate height and width
     */
    private validateDimentionValue;
    /**
     * To calculate dimensions of Gantt control
     */
    private calculateDimensions;
    /**
     * @private
     */
    protected render(): void;
    /**
     * Method used to show spinner.
     */
    showSpinner(): void;
    /**
     * Method used to hide spinner.
     */
    hideSpinner(): void;
    /**
     * @private
     */
    renderGantt(isChange?: boolean): void;
    private wireEvents;
    private keyActionHandler;
    /**
     * @private
     */
    protected renderToolbar(): void;
    /**
     * @private
     */
    protected renderTreeGrid(): void;
    private updateCurrentViewData;
    /**
     * @private
     */
    getRecordFromFlatdata(records: IGanttData[]): IGanttData[];
    /**
     * @private
     */
    updateContentHeight(): void;
    /**
     * To get expand status.
     * @return {boolean}
     * @private
     */
    getExpandStatus(data: IGanttData): boolean;
    /**
     * Get expanded records from given record collection.
     * @param {IGanttData[]} records - Defines record collection.
     * @deprecated
     */
    getExpandedRecords(records: IGanttData[]): IGanttData[];
    /**
     * Getting the Zooming collections of the Gantt control
     * @private
     */
    getZoomingLevels(): ZoomTimelineSettings[];
    private displayQuarterValue;
    private displayHalfValue;
    /**
     *
     * @param date
     * @param format
     */
    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.
     */
    getDurationString(duration: number, durationUnit: string): string;
    /**
     *
     * @param args
     * @private
     */
    treeDataBound(args: object): void;
    /**
     * Called internally, if any of the property value changed.
     * @param newProp
     * @param oldProp
     * @private
     */
    onPropertyChanged(newProp: GanttModel, oldProp: GanttModel): void;
    /**
     * Get the properties to be maintained in the persisted state.
     * @return {string}
     * @private
     */
    getPersistData(): string;
    /**
     * @private
     */
    destroy(): void;
    /**
     * Method to get taskbarHeight.
     * @return {number}
     * @public
     */
    getTaskbarHeight(): number;
    /**
     * To provide the array of modules needed for component rendering
     * @return {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.
     * @return {void}
     */
    sortColumn(columnName: string, direction: SortDirection, isMultiSort?: boolean): void;
    /**
     * Clears all the sorted columns of the Gantt.
     * @return {void}
     */
    clearSorting(): void;
    /**
     * To validate and render chart horizontal and vertical lines in the Gantt
     * @return {void}
     * @hidden
     */
    renderChartGridLines(): void;
    /**
     * To update height of the Grid lines in the Gantt chart side.
     * @return {void}
     * @private
     */
    updateGridLineContainerHeight(): void;
    /**
     * To update height of the Grid lines in the Gantt chart side.
     * @return {void}
     * @private
     */
    reUpdateDimention(): void;
    /**
     * To render vertical lines in the Gantt chart side.
     * @return {void}
     */
    private renderChartVerticalLines;
    /**
     * Method to get default localized text of the Gantt.
     * @return {void}
     * @hidden
     */
    getDefaultLocale(): Object;
    /**
     * To remove sorted records of particular column.
     * @param {string} columnName - Defines the sorted column name.
     */
    removeSortColumn(columnName: string): void;
    /**
     *
     * @param args
     * @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.
     */
    scrollToDate(date: string): void;
    /**
     * To move horizontal scroll bar of Gantt to specific task id.
     * @param  {string} taskId - Defines the task id of data.
     */
    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.
     */
    updateChartScrollOffset(left: number, top: number): void;
    /**
     * Get parent task by clone parent item.
     * @param {IParent} cloneParent - Defines the clone parent item.
     * @hidden
     */
    getParentTask(cloneParent: IParent): 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} 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.
     * @param  {string} actualFilterValue - Defines the actual filter value for the filter column.
     * @param  {string} actualOperator - Defines the actual filter operator for the filter column.
     * @return {void}
     */
    filterByColumn(fieldName: string, filterOperator: string, filterValue: string | number | 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.
     * @return {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.
     * @return {Promise<any>}
     */
    csvExport(excelExportProperties?: grids.ExcelExportProperties, isMultipleExport?: boolean, workbook?: any, isBlob?: boolean): Promise<any>;
    /**
     * Clears all the filtered columns in Gantt.
     * @return {void}
     */
    clearFiltering(): void;
    /**
     * Removes filtered column by field name.
     * @param  {string} field - Defines column field name to remove filter.
     * @return {void}
     * @hidden
     */
    removeFilteredColsByField(field: string): void;
    /**
     * Method to set holidays and non working days in date time and date picker controls
     * @return {void}
     * @private
     */
    renderWorkingDayCell(args: calendars.RenderDayCellEventArgs): void;
    /**
     * To update timeline at start point with one unit.
     * @return {void}
     * @public
     */
    previousTimeSpan(mode?: string): void;
    /**
     * To update timeline at end point with one unit.
     * @return {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.
     * @return {void}
     * @public
     */
    updateProjectDates(startDate: Date, endDate: Date, isTimelineRoundOff: boolean): void;
    /**
     * Changes the treegrid.TreeGrid column positions by field names.
     * @param  {string} fromFName - Defines origin field name.
     * @param  {string} toFName - Defines destination field name.
     * @return {void}
     * @public
     */
    reorderColumns(fromFName: string | string[], toFName: string): void;
    /**
     * Method to clear edited collections in gantt set edit flag value
     * @private
     */
    initiateEditAction(isStart: boolean): void;
    /**
     *
     * @param field Method to update value in Gantt record and make clone record for this
     * @param record
     * @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.
     * @isGenericType true
     */
    getTaskByUniqueID(id: string): IGanttData;
    /**
     * Method to get record by id value.
     * @param {string} id - Defines the id of record.
     * @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.
     */
    setSplitterPosition(value: string | number, type: string): void;
    /**
     * Expand the record by index value.
     * @param {number} index - Defines the index of row.
     * @return {void}
     * @public
     */
    expandByIndex(index: number): void;
    /**
     * Expand the record by task id.
     * @param {number} id - Defines the id of task.
     * @return {void}
     * @public
     */
    expandByID(id: number): void;
    /**
     * Collapse the record by index value.
     * @param {number} index - Defines the index of row.
     * @return {void}
     * @public
     */
    collapseByIndex(index: number): void;
    /**
     * Collapse the record by id value.
     * @param {number} id - Defines the id of task.
     * @return {void}
     * @public
     */
    collapseByID(id: number): void;
    /**
     * Method to add record.
     * @param {Object | IGanttData} data - Defines record to add.
     * @param {RowPosition} rowPosition - Defines the position of row.
     * @param {number} rowIndex - Defines the row index.
     * @return {void}
     * @public
     */
    addRecord(data?: Object | IGanttData, rowPosition?: RowPosition, rowIndex?: number): void;
    /**
     * Method to update record by ID.
     * @param  {Object} data - Defines the data to modify.
     * @return {void}
     * @public
     */
    updateRecordByID(data: Object): void;
    /**
     * To perform Zoom in action on Gantt timeline.
     * @return {void}
     * @public
     */
    zoomIn(): void;
    /**
     * To perform zoom out action on Gantt timeline.
     * @return {void}
     * @public
     */
    zoomOut(): void;
    /**
     * To show all project task in available chart width
     * @return {void}
     * @public
     */
    fitToProject(): 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.
     * @return {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.
     * @return {void}
     * @public
     */
    addPredecessor(id: number, predecessorString: string): void;
    /**
     * To remove dependency from task.
     * @param  {number} id - Defines the ID of task to modify.
     * @return {void}
     * @public
     */
    removePredecessor(id: number): 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.
     * @return {void}
     * @public
     */
    updatePredecessor(id: number, predecessorString: string): void;
    /**
     * Method to open Add dialog.
     * @return {void}
     * @public
     */
    openAddDialog(): void;
    /**
     * Method to open Edit dialog.
     * @param {number } taskId - Defines the id of task.
     * @return {void}
     * @public
     */
    openEditDialog(taskId?: number): void;
    /**
     * Changes the treegrid.TreeGrid column positions by field names.
     * @return {void}
     * @private
     */
    private contructExpandCollapseArgs;
    /**
     * Method to get chart row value by index.
     * @param {number} index - Defines the index of row.
     * @return {HTMLElement}
     */
    getRowByIndex(index: number): HTMLElement;
    /**
     * Method to get the row element by task id.
     * @param {string | number} id - Defines the id of task.
     * @return {HTMLElement}
     */
    getRowByID(id: string | number): HTMLElement;
    /**
     * Method to get class name for unscheduled tasks
     * @param ganttProp
     * @private
     */
    getUnscheduledTaskClass(ganttProp: ITaskData): string;
    private createGanttPopUpElement;
    /**
     * Method to get predecessor value as string.
     * @return {HTMLElement}
     * @private
     */
    getPredecessorTextValue(type: string): string;
    /**
     * Method to perform search action in Gantt.
     * @param {string} keyVal - Defines key value to search.
     */
    search(keyVal: string): void;
    /**
     * Method to get offset rect value
     * @param element
     * @hidden
     */
    getOffsetRect(element: HTMLElement): {
        top: number;
        left: number;
    };
    /**
     * Method to expand all the rows of Gantt.
     * @return {void}
     * @public
     */
    expandAll(): void;
    /**
     * Method to update data source.
     * @return {void}
     * @param dataSource - Defines a collection of data.
     * @param args - Defines the projectStartDate and projectEndDate values.
     * @public
     */
    updateDataSource(dataSource: object[], args: object): void;
    /**
     * Method to collapse all the rows of Gantt.
     * @return {void}
     * @public
     */
    collapseAll(): void;
    /**
     * Gets the columns from the treegrid.TreeGrid.
     * @return {Column[]}
     * @public
     */
    getGridColumns(): Column[];
    /**
     * Method to column from given column collection based on field value
     * @param field
     * @param columns
     * @private
     */
    getColumnByField(field: string, columns: ColumnModel[]): ColumnModel;
    /**
     * Gets the Gantt columns.
     * @return {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.
     * @return {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.
     * @return {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.
     * @return {void}
     * @public
     */
    setScrollTop(scrollTop: number): void;
    /**
     * Cancels edited state.
     * @return {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.
     * @return {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.
     * @return {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.
     * @return {void}
     */
    selectRow(index: number, isToggle?: boolean): void;
    /**
     * Selects a collection of rows by indexes.
     * @param  {number[]} records - Defines the collection of row indexes.
     * @return {void}
     */
    selectRows(records: number[]): void;
    /**
     * Method to delete record.
     * @param {number | string } taskDetail - Defines the details of data to delete.
     * @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.
     * @return {void}
     */
    enableItems(items: string[], isEnable: boolean): void;
    /**
     * Deselects the current selected rows and cells.
     * @return {void}
     */
    clearSelection(): void;
    /**
     * @param args
     * @hidden
     */
    updateDataArgs(args: ITaskAddedEventArgs | IActionBeginEventArgs): ITaskAddedEventArgs | IActionBeginEventArgs;
}
//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;
    /** 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;
}
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 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 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;
}
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;
}
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 IValidateMode {
    respectLink?: boolean;
    removeLink?: boolean;
    preserveLinkWithEditing?: boolean;
}
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;
}
export interface IValidateMode {
    respectLink?: boolean;
    removeLink?: boolean;
    preserveLinkWithEditing?: boolean;
}
export interface IActionBeginEventArgs {
    requestType?: string;
    data?: IGanttData | IGanttData[];
    modifiedRecords?: IGanttData[];
    modifiedTaskData?: object[];
    cancel?: boolean;
}
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;
}
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.
     * @blazorType Syncfusion.EJ2.Blazor.Popups.popups.TooltipEventArgs
     */
    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;
}
export interface ITaskAddedEventArgs {
    /** Specifies the newly added task data with Gantt properties. */
    data?: IGanttData;
    /** Specifies the newly added task data without custom Gantt properties. */
    newTaskData?: object;
    /** Defines the modified records. */
    modifiedRecords?: IGanttData[];
    /** Defines the modified task data. */
    modifiedTaskData?: object[];
    /** Defines the record index. */
    recordIndex?: number;
    /** Defines the event is cancel-able or not. */
    cancel?: boolean;
    /** Defines the action. */
    action?: 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 {
    /** 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 disabled items collection */
    disableItems?: string[];
    /**
     * @blazorType double?
     */
    top?: number;
    /**
     * @blazorType double?
     */
    left?: number;
}
export interface 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 {
    requestType?: string;
    timeline?: ZoomTimelineSettings;
}
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;
}
export interface RowDeselectEventArgs extends grids.RowDeselectEventArgs {
    /** Defines the selected/deselected row index.
     * @blazorType double[]
     */
    rowIndex?: number;
    /** Defines the data collections. */
    data?: IGanttData[];
    /** Defines the selected/deselected row.
     * @blazorType List<DOM>
     */
    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 record index. */
    recordIndex?: number;
    /** Defines the action. */
    action?: string;
    /** Defines the type of event. */
    type?: string;
}
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.
     * @blazorType object
     */
    previousRowCellIndex?: number;
}
export interface ScrollArgs {
    /** 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;
}
//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);
    /**
     * @private
     */
    renderSplitter(): void;
    /**
     * @private
     */
    calculateSplitterPosition(splitter: SplitterSettingsModel, isDynamic?: boolean): string;
    /**
     *
     */
    private getSpliterPositionInPercentage;
    /**
     *
     */
    private getTotalColumnWidthByIndex;
    /**
     * @private
     */
    updateSplitterPosition(): 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 hierarchyData;
    constructor(parent: Gantt);
    private addEventListener;
    /**
     * @private
     */
    checkDataBinding(isChange?: boolean): void;
    private initDataSource;
    private constructDataSource;
    private cloneDataSource;
    /**
     * Function to manipulate data-source
     * @hidden
     */
    private prepareDataSource;
    private prepareRecordCollection;
    /**
     * Method to update custom field values in gantt record
     */
    private addCustomFieldValue;
    /**
     * To populate Gantt record
     * @param data
     * @param level
     * @param parentItem
     * @param isLoad
     * @private
     */
    createRecord(data: Object, level: number, parentItem?: IGanttData, isLoad?: boolean): IGanttData;
    /**
     *
     * @param record
     * @param parent
     * @private
     */
    getCloneParent(parent: IGanttData): IParent;
    /**
     * @private
     */
    reUpdateResources(): void;
    private addTaskData;
    private updateExpandStateMappingValue;
    /**
     *
     * @param ganttData
     * @param data
     * @param isLoad
     * @private
     */
    calculateScheduledValues(ganttData: IGanttData, data: Object, isLoad: boolean): void;
    private calculateDateFromEndDate;
    private calculateDateFromStartDate;
    /**
     *
     * @param parentWidth
     * @param percent
     * @private
     */
    getProgressWidth(parentWidth: number, percent: number): number;
    /**
     *
     * @param ganttProp
     * @private
     */
    calculateWidth(ganttProp: ITaskData): number;
    private getTaskbarHeight;
    /**
     * Method to calculate left
     * @param ganttProp
     * @private
     */
    calculateLeft(ganttProp: ITaskData): number;
    /**
     * calculate the left margin of the baseline element
     * @param ganttData
     * @private
     */
    calculateBaselineLeft(ganttProperties: ITaskData): number;
    /**
     * calculate the width between baseline start date and baseline end date.
     * @private
     */
    calculateBaselineWidth(ganttProperties: ITaskData): number;
    /**
     * To get tasks width value
     * @param startDate
     * @param endDate
     * @private
     */
    getTaskWidth(startDate: Date, endDate: Date): number;
    /**
     * Get task left value
     * @param startDate
     * @param isMilestone
     * @private
     */
    getTaskLeft(startDate: Date, isMilestone: boolean): number;
    /**
     *
     * @param ganttData
     * @param fieldName
     * @private
     */
    updateMappingData(ganttData: IGanttData, fieldName: string): void;
    private setRecordDate;
    private getDurationInDay;
    private setRecordDuration;
    /**
     *
     * @param ganttData
     * @private
     */
    updateTaskData(ganttData: IGanttData): void;
    /**
     * To set resource value in Gantt record
     * @private
     */
    setResourceInfo(data: Object): Object[];
    private updateResourceName;
    private dataReorder;
    private validateDurationUnitMapping;
    /**
     * To update duration value in Task
     * @param duration
     * @param ganttProperties
     * @private
     */
    updateDurationValue(duration: string, ganttProperties: ITaskData): void;
    /**
     * @private
     */
    reUpdateGanttData(): void;
    /**
     * Update all gantt data collection width, progress width and left value
     * @private
     */
    updateGanttData(): void;
    /**
     * @private
     */
    reUpdateGanttDataPosition(): void;
    /**
     * method to update left, width, progress width in record
     * @param data
     * @private
     */
    updateWidthLeft(data: IGanttData): void;
    /**
     * To calculate parent progress value
     * @private
     */
    getParentProgress(childGanttRecord: IGanttData): Object;
    /**
     * @private
     */
    updateParentItems(cloneParent: IParent): void;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/base/tree-grid.d.ts
/**
 * TreeGrid related code goes here
 */
export  class GanttTreeGrid {
    private parent;
    private treeGridElement;
    treeGridColumns: treegrid.ColumnModel[];
    /**
     * @private
     */
    currentEditRow: {};
    private previousScroll;
    constructor(parent: Gantt);
    private addEventListener;
    private createContainer;
    /**
     * Method to initiate TreeGrid
     */
    renderTreeGrid(): void;
    private composeProperties;
    private getContentDiv;
    private getHeaderDiv;
    private getScrollbarWidth;
    private ensureScrollBar;
    private bindEvents;
    private dataBound;
    private collapsing;
    private expanding;
    private collapsed;
    private expanded;
    private updateExpandStatus;
    private actionBegin;
    private created;
    private actionFailure;
    private queryCellInfo;
    private headerCellInfo;
    private rowDataBound;
    private columnMenuOpen;
    private columnMenuClick;
    private createExpandCollapseArgs;
    private treeActionComplete;
    private updateKeyConfigSettings;
    /**
     * Method to bind internal events on TreeGrid element
     */
    private wireEvents;
    private unWireEvents;
    private scrollHandler;
    /**
     * @private
     */
    validateGanttColumns(): void;
    /**
     *
     * @param column
     * @param isDefined
     */
    private createTreeGridColumn;
    /**
     * Compose Resource columns
     * @param column
     */
    private composeResourceColumn;
    /**
     *
     * @private
     */
    getResourceIds(data: IGanttData): object;
    /**
     * Create Id column
     * @param column
     */
    private composeIDColumn;
    /**
     * Create progress column
     * @param column
     */
    private composeProgressColumn;
    /**
     *
     */
    private bindTreeGridColumnProperties;
    private durationValueAccessor;
    private resourceValueAccessor;
    private updateScrollTop;
    private treeGridClickHandler;
    private removeEventListener;
    private destroy;
}
//node_modules/@syncfusion/ej2-gantt/src/gantt/base/utils.d.ts
/** @hidden */
export  function parentsUntil(elem: Element, selector: string, isID?: boolean): Element;
export  function isScheduledTask(ganttProp: ITaskData): boolean;
export  function getSwapKey(obj: Object): object;
export  function isRemoteData(dataSource: object): boolean;
export  function getTaskData(records: IGanttData[]): object[];
export  function formatString(str: string, args: string[]): string;
export  function getIndex(value: any, key1: string, collection: any, key2?: string): number;
//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
     * @blazorType Syncfusion.EJ2.Blazor.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 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
     * @blazorType object
     */
    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
     * @blazorType Syncfusion.EJ2.Blazor.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
     * @blazorType object
     */
    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
     * @blazorType Syncfusion.EJ2.Blazor.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
     * @blazorType Syncfusion.EJ2.Blazor.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;
}
//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
     * @blazorType double?
     * @blazorDefaultValue null
     */
    from?: number;
    /**
     * Defines end time of working time range.
     * @default null
     * @blazorType double?
     * @blazorDefaultValue 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
     * @blazorType double?
     * @blazorDefaultValue null
     */
    from: number;
    /**
     * Defines end time of working time range.
     * @default null
     * @blazorType double?
     * @blazorDefaultValue 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;
    /**
     * Enabled or disables taskbar resizing, taskbar dragging, progress bar resizing and 
     * predecessor draw action in chart side.
     * @default false
     */
    allowTaskbarEditing?: 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;
    /**
     * Enabled or disables taskbar resizing, taskbar dragging, progress bar resizing and
     * predecessor draw action in chart side.
     * @default false
     */
    allowTaskbarEditing: 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.
   * @hidden
   */
    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.
     * @hidden
     */
    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/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
     * @blazorType Syncfusion.EJ2.Blazor.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
     * @blazorType Syncfusion.EJ2.Blazor.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
     * @blazorDefaultValueIgnore
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.SelectionType
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.SelectionType
     */
    type?: grids.SelectionType;
    /**
     * If 'persistSelection' set to true, then the Gantt selection is persisted on all operations.
     * @default false
     */
    persistSelection?: 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
     * @blazorType Syncfusion.EJ2.Blazor.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
     * @blazorType Syncfusion.EJ2.Blazor.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
     * @blazorDefaultValueIgnore
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.SelectionType
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.SelectionType
     */
    type: grids.SelectionType;
    /**
     * If 'persistSelection' set to true, then the Gantt selection is persisted on all operations.
     * @default false
     */
    persistSelection: 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 ''
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @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 ''
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     * @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;
}
//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;
}
//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 {
    ganttChartTableBody: Element;
    taskTable: HTMLElement;
    private parent;
    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;
    constructor(ganttObj?: Gantt);
    /**
     * To initialize the public property.
     * @return {void}
     * @private
     */
    private initPublicProp;
    private addEventListener;
    refreshChartByTimeline(): void;
    /**
     * To render chart rows.
     * @return {void}
     * @private
     */
    private createChartTable;
    initiateTemplates(): void;
    /**
     * To render chart rows.
     * @return {void}
     * @private
     */
    renderChartRows(): void;
    /**
     * To get gantt Indicator.
     * @return {NodeList}
     * @private
     */
    private getIndicatorNode;
    /**
     * To get gantt Indicator.
     * @return {number}
     * @private
     */
    getIndicatorleft(date: Date | string): number;
    /**
     * To get child taskbar Node.
     * @return {NodeList}
     * @private
     */
    private getChildTaskbarNode;
    /**
     * To get milestone node.
     * @return {NodeList}
     * @private
     */
    private getMilestoneNode;
    /**
     * To get task baseline Node.
     * @return {NodeList}
     * @private
     */
    private getTaskBaselineNode;
    /**
     * To get milestone baseline node.
     * @return {NodeList}
     * @private
     */
    private getMilestoneBaselineNode;
    /**
     * To get left label node.
     * @return {NodeList}
     * @private
     */
    private getLeftLabelNode;
    /**
     * To get right label node.
     * @return {NodeList}
     * @private
     */
    private getRightLabelNode;
    /**
     * To get parent taskbar node.
     * @return {NodeList}
     * @private
     */
    private getParentTaskbarNode;
    /**
     * To get taskbar row('TR') node
     * @return {NodeList}
     * @private
     */
    private getTableTrNode;
    /**
     * To initialize chart templates.
     * @return {void}
     * @private
     */
    private initializeChartTemplate;
    private createDivElement;
    private isTemplate;
    /** @private */
    getTemplateID(templateName: string): string;
    private updateTaskbarBlazorTemplate;
    private leftLabelContainer;
    private taskbarContainer;
    private rightLabelContainer;
    private childTaskbarLeftResizer;
    private childTaskbarRightResizer;
    private childTaskbarProgressResizer;
    private getLeftPointNode;
    private getRightPointNode;
    /**
     * To get task label.
     * @return {string}
     * @private
     */
    private getTaskLabel;
    private getExpandDisplayProp;
    private getRowClassName;
    private getBorderRadius;
    private taskNameWidth;
    private getRightLabelLeft;
    private getExpandClass;
    private getFieldValue;
    private getResourceName;
    /**
     * To initialize private variable help to render task bars.
     * @return {void}
     * @private
     */
    private initChartHelperPrivateVariable;
    /**
     * Function used to refresh Gantt rows.
     * @return {void}
     * @private
     */
    refreshGanttRows(): void;
    /**
     * To render taskbars.
     * @return {void}
     * @private
     */
    private createTaskbarTemplate;
    /**
     * To render taskbars.
     * @return {Node}
     * @private
     */
    getGanttChartRow(i: number, tempTemplateData: IGanttData): Node;
    /**
     * To trigger query taskbar info event.
     * @return {void}
     * @private
     */
    triggerQueryTaskbarInfo(): void;
    /**
     *
     * @param trElement
     * @param data
     * @private
     */
    triggerQueryTaskbarInfoByIndex(trElement: Element, data: IGanttData): void;
    /**
     * To update query taskbar info args.
     * @return {void}
     * @private
     */
    private updateQueryTaskbarInfoArgs;
    private getClassName;
    /**
     * To compile template string.
     * @return {Function}
     * @private
     */
    templateCompiler(template: string): Function;
    /**
     * To refresh edited TR
     * @param index
     * @private
     */
    refreshRow(index: number): void;
    /**
     * To refresh all edited records
     * @param items
     * @private
     */
    refreshRecords(items: IGanttData[]): void;
    private removeEventListener;
    private destroy;
    private generateAriaLabel;
    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;
    constructor(ganttObj?: Gantt);
    /**
     * To get connector line gap.
     * @return {number}
     * @private
     */
    private getconnectorLineGap;
    /**
     * To initialize the public property.
     * @return {void}
     * @private
     */
    initPublicProp(): void;
    private getTaskbarMidpoint;
    /**
     * To connector line object collection.
     * @return {void}
     * @private
     */
    createConnectorLineObject(parentGanttData: IGanttData, childGanttData: IGanttData, predecessor: IPredecessor): IConnectorLineObject;
    /**
     * To render connector line.
     * @return {void}
     * @private
     */
    renderConnectorLines(connectorLinesCollection: IConnectorLineObject[]): void;
    /**
     * To get parent position.
     * @return {void}
     * @private
     */
    private getParentPosition;
    /**
     * To get line height.
     * @return {void}
     * @private
     */
    private getHeightValue;
    /**
     * To get sstype2 inner element width.
     * @return {void}
     * @private
     */
    private getInnerElementWidthSSType2;
    /**
     * To get sstype2 inner element left.
     * @return {void}
     * @private
     */
    private getInnerElementLeftSSType2;
    /**
     * To get sstype2 inner child element width.
     * @return {void}
     * @private
     */
    private getInnerChildWidthSSType2;
    private getBorderStyles;
    /**
     * To get connector line template.
     * @return {void}
     * @private
     */
    getConnectorLineTemplate(data: IConnectorLineObject): string;
    /**
     * @private
     */
    createConnectorLineTooltipTable(): void;
    /**
     * @param fromTaskName
     * @param fromPredecessorText
     * @param toTaskName
     * @param toPredecessorText
     * @private
     */
    getConnectorLineTooltipInnerTd(fromTaskName: string, fromPredecessorText: string, toTaskName?: string, toPredecessorText?: string): string;
    /**
     * Generate aria-label for connectorline
     */
    private generateAriaLabel;
}
//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.
     * @return {void}
     * @private
     */
    createTooltip(opensOn: string, mouseTrail: boolean, target?: string): void;
    /**
     * To show/hide taskbar edit tooltip.
     * @return {void}
     * @private
     */
    showHideTaskbarEditTooltip(bool: boolean): void;
    /**
     * To update tooltip content and position.
     * @return {void}
     * @private
     */
    updateTooltip(): void;
    /**
     * To get updated tooltip text.
     * @return {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);
    /**
     * @private
     */
    renderEventMarkers(): void;
    /**
     * @private
     */
    removeContainer(): void;
    /**
     * Method to get event markers as html string
     */
    private getEventMarkersElements;
    /**
     * @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;
    constructor(gantt: Gantt);
    /**
     * Method append nonworking container
     */
    private createNonworkingContainer;
    /**
     * calculation for holidays rendering.
     * @private
     */
    renderHolidays(): void;
    /**
     * Method to return holidays as html string
     */
    private getHolidaysElement;
    /**
     * @private
     */
    renderWeekends(): void;
    /**
     * Method to get weekend html string
     */
    private getWeekendElements;
    private updateHolidayLabelHeight;
    /**
     * Method to update height for all internal containers
     * @private
     */
    updateContainerHeight(): void;
    /**
     * Method to remove containers of holiday and weekend
     */
    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;
    private topTierCellWidth;
    bottomTierCellWidth: number;
    customTimelineSettings: TimelineSettingsModel;
    chartTimelineContainer: HTMLElement;
    topTier: string;
    bottomTier: string;
    isSingleTier: boolean;
    private previousIsSingleTier;
    timelineRoundOffEndDate: Date;
    totalTimelineWidth: number;
    isZoomIn: boolean;
    isZooming: boolean;
    isZoomToFit: boolean;
    constructor(ganttObj?: Gantt);
    /**
     * To initialize the public property.
     * @return {void}
     * @private
     */
    private initProperties;
    /**
     * To render timeline header series.
     * @return {void}
     * @private
     */
    validateTimelineProp(): void;
    /**
     * Function used to refresh Gantt rows.
     * @return {void}
     * @private
     */
    refreshTimeline(): void;
    /**
     * Function used to refresh Gantt rows.
     * @return {void}
     * @private
     */
    refreshTimelineByTimeSpan(): void;
    /**
     * Function used to refresh Gantt rows.
     * @return {void}
     * @private
     */
    updateChartByNewTimeline(): void;
    /**
     * Function used to perform Zoomin and Zoomout actions in Gantt control.
     * @param isZoomIn
     * @private
     * @return {void}
     */
    processZooming(isZoomIn: boolean): void;
    /**
     * To change the timeline settings property values based upon the Zooming levels.
     * @return {void}
     * @private
     */
    private changeTimelineSettings;
    /**
     * To perform the zoom to fit operation in Gantt.
     * @return {void}
     * @private
     */
    processZoomToFit(): void;
    private roundOffDateToZoom;
    private calculateNumberOfTimelineCells;
    /**
     * To validate time line unit.
     * @return {void}
     * @private
     */
    processTimelineUnit(): void;
    /**
     * To validate timeline properties.
     * @return {void}
     * @private
     */
    private processTimelineProperty;
    /**
     * To find the current zooming level of the Gantt control.
     * @return {void}
     * @private
     */
    calculateZoomingLevelsPerDayWidth(): void;
    /**
     * To find the current zooming level of the Gantt control.
     * @return {void}
     * @private
     */
    private checkCurrentZoomingLevel;
    /**
     * @private
     */
    private getCurrentZoomingLevel;
    /**
     * Getting closest zooimg level.
     * @private
     */
    private getClosestUnit;
    private checkCollectionsWidth;
    /**
     * To create timeline header template.
     * @return {void}
     * @private
     */
    updateTimelineHeaderHeight(): void;
    /**
     * To create timeline header template.
     * @return {void}
     * @private
     */
    createTimelineSeries(): void;
    /**
     * To validate timeline tier count.
     * @return {number}
     * @private
     */
    private validateCount;
    /**
     * To validate bottom tier count.
     * @return {number}
     * @private
     */
    private validateBottomTierCount;
    /**
     * To validate timeline tier format.
     * @return {string}
     * @private
     */
    private validateFormat;
    /**
     * To perform extend operation.
     * @return {object}
     * @private
     */
    extendFunction(cloneObj: Object, propertyCollection: string[], innerProperty?: Object): Object;
    /**
     * To format date.
     * @return {string}
     * @private
     */
    private formatDateHeader;
    /**
     * Custom Formatting.
     * @return {string}
     * @private
     */
    private customFormat;
    /**
     * To create timeline template .
     * @return {string}
     * @private
     */
    private createTimelineTemplate;
    private getTimelineRoundOffEndDate;
    /**
     *
     * @param startDate
     * @param count
     * @param mode
     * @private
     */
    getIncrement(startDate: Date, count: number, mode: String): number;
    /**
     * Method to find header cell was weekend or not
     * @param mode
     * @param tier
     * @param day
     */
    private isWeekendHeaderCell;
    /**
     * To construct template string.
     * @return {string}
     * @private
     */
    private getHeaterTemplateString;
    /**
     * To calculate last 'th' width.
     * @return {number}
     * @private
     */
    private calculateWidthBetweenTwoDate;
    /**
     * To calculate timeline width.
     * @return {void}
     * @private
     */
    private timelineWidthCalculation;
    /**
     * To validate per day width.
     * @return {number}
     * @private
     */
    private getPerDayWidth;
    /**
     * To validate project start date and end date.
     * @return {void}
     * @private
     */
    private roundOffDays;
    /**
     * To validate project start date and end date.
     * @return {void}
     * @private
     */
    updateScheduleDatesByToolBar(mode: string, span: string, startDate: Date, endDate: Date): void;
    /**
     * To validate project start date and end date.
     * @return {void}
     * @private
     */
    updateTimeLineOnEditing(tempArray: IGanttData[], action: string): void;
    /**
     * To validate project start date and end date on editing action
     * @return {void}
     * @private
     */
    performTimeSpanAction(type: string, isFrom: string, startDate: Date, endDate: Date, mode?: string): void;
    /**
     * To validate project start date and end date.
     * @return {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.
     * @return {void}
     * @private
     */
    createTooltip(): void;
    private tooltipBeforeRender;
    private tooltipCloseHandler;
    private mouseMoveHandler;
    /**
     * Method to update tooltip position
     * @param args
     */
    private updateTooltipPosition;
    /**
     * Method to get mouse pointor position
     * @param e
     */
    private getPointorPosition;
    /**
     *  Getting tooltip content for different elements
     */
    private getTooltipContent;
    /**
     * To get the details of an event marker.
     * @private
     */
    private getMarkerTooltipData;
    /**
     * To get the details of a connector line.
     * @private
     */
    private getPredecessorTooltipData;
    /**
     * @private
     * To compile template string.
     */
    templateCompiler(template: string, parent: Gantt, data: IGanttData | PredecessorTooltip, propName: string): NodeList;
    private destroy;
}
//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;
    private prepareSummaryInfo;
    private getFormatFromType;
    onPropertyChanged(e: NotifyArgs): void;
    addEventListener(): void;
    removeEventListener(): void;
    destroy(): void;
    refresh(data: Object): 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 removeSelectedData;
    private cellDetails;
    private isColored;
    private isAdded;
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator, renderer?: EditRender);
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    private dataBound;
    /**
     * @hidden
     */
    destroy(): void;
    protected clickHandler(e: MouseEvent): void;
    protected dblClickHandler(e: MouseEvent): void;
    private onBeforeCellFocused;
    private onCellFocused;
    private isAddRow;
    private editCellFromIndex;
    closeEdit(): void;
    deleteRecord(fieldname?: string, data?: Object): void;
    addRecord(data?: Object): void;
    endEdit(data?: Object): void;
    private validateFormObj;
    batchSave(): void;
    getBatchChanges(): Object;
    private mergeBatchChanges;
    /**
     * @hidden
     */
    removeRowObjectFromUID(uid: string): void;
    /**
     * @hidden
     */
    addRowObject(row: Row<Column>): void;
    private bulkDelete;
    private refreshRowIdx;
    private getIndexFromData;
    private bulkAddRow;
    private renderMovable;
    private findNextEditableCell;
    private checkNPCell;
    private getDefaultData;
    private setCellIdx;
    editCell(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;
    saveCell(isForceSave?: boolean): void;
    private successCallBack;
    protected getDataByIndex(index: number): Object;
    private keyDownHandler;
    /**
     * @hidden
     */
    addCancelWhilePaging(): 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 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;
    protected options: IFilterArgs;
    protected filterSettings: FilterSettings;
    protected existingPredicate: {
        [key: string]: PredicateModel[];
    };
    protected foreignKeyData: Object[];
    protected foreignKeyQuery: data.Query;
    protected filterState: boolean;
    protected values: Object;
    private cBoxTrue;
    private cBoxFalse;
    private itemsCnt;
    private result;
    protected renderEmpty: boolean;
    protected parent: IGrid;
    protected serviceLocator: ServiceLocator;
    protected localeObj: base.L10n;
    protected valueFormatter: ValueFormatter;
    private searchHandler;
    /**
     * Constructor for checkbox filtering module
     * @hidden
     */
    constructor(parent?: IGrid, filterSettings?: FilterSettings, serviceLocator?: ServiceLocator);
    /**
     * To destroy the filter bar.
     * @return {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
     * @return {string}
     */
    getLocalizedLabel(key: string): string;
    private updateDataSource;
    protected updateModel(options: IFilterArgs): void;
    protected getAndSetChkElem(options: IFilterArgs): HTMLElement;
    protected showDialog(options: IFilterArgs): void;
    private dialogCreated;
    openDialog(options: IFilterArgs): void;
    closeDialog(): void;
    protected clearFilter(): void;
    private btnClick;
    private fltrBtnHandler;
    private initiateFilter;
    private refreshCheckboxes;
    protected search(args: FilterSearchBeginEventArgs, query: data.Query): void;
    private getPredicateFromCols;
    private getAllData;
    private addDistinct;
    private filterEvent;
    private eventPromise;
    getStateEventArgument(query: data.Query): Object;
    private processDataOperation;
    private dataSuccess;
    private processDataSource;
    private processSearch;
    private updateResult;
    private clickHandler;
    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;
    /**
     * For internal use only - Get the module name.
     * @private
     */
    protected getModuleName(): string;
}
//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;
    private clipBoardTextArea;
    private copyContent;
    private isSelect;
    private parent;
    /**
     * Constructor for the Grid clipboard module
     * @hidden
     */
    constructor(parent?: IGrid);
    /**
     * @hidden
     */
    addEventListener(): 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.
     */
    paste(data: string, rowIndex: number, colIndex: number): void;
    private initialEnd;
    private keyDownHandler;
    private setCopyData;
    private getCopyData;
    /**
     * Copy selected rows or cells data into clipboard.
     * @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.
     * @private
     */
    protected getModuleName(): string;
    /**
     * To destroy the clipboard
     * @return {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 dataManager;
    private column;
    private parent;
    private serviceLocator;
    private l10n;
    private dlgObj;
    private searchValue;
    private flag;
    private timer;
    getShowHideService: ShowHide;
    private showColumn;
    private hideColumn;
    private mainDiv;
    private innerDiv;
    private ulElement;
    private isDlgOpen;
    private dlghide;
    private initialOpenDlg;
    private stateChangeColumns;
    private dlgDiv;
    private isInitialOpen;
    private isCustomizeOpenCC;
    private cBoxTrue;
    private cBoxFalse;
    private searchBoxObj;
    private searchOperator;
    private targetdlg;
    private prevShowedCols;
    /**
     * Constructor for the Grid ColumnChooser module
     * @hidden
     */
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    private destroy;
    private rtlUpdate;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    private render;
    private clickHandler;
    private hideDialog;
    /**
     * To render columnChooser when showColumnChooser enabled.
     * @return {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 customDialogOpen;
    private customDialogClose;
    private getColumns;
    private renderDlgContent;
    private renderChooserList;
    private confirmDlgBtnClick;
    private columnStateChange;
    private clearActions;
    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;
}
//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 eventArgs;
    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
     * @return {void}
     * @hidden
     */
    destroy(): void;
    columnMenuHandlerClick(e: Event): void;
    private openColumnMenu;
    private columnMenuHandlerDown;
    private getColumnMenuHandlers;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    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;
    /**
     * @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 previousClickedTD;
    private locator;
    private clickedButton;
    constructor(parent: IGrid, locator?: ServiceLocator);
    private initiateRender;
    private commandClickHandler;
    /**
     * For internal use only - Get the module name.
     */
    private getModuleName;
    /**
     * To destroy CommandColumn.
     * @method destroy
     * @return {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 keyPressHandlerFunction;
    private targetRowdata;
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    private keyDownHandler;
    private render;
    private enableAfterRenderMenu;
    private getMenuItems;
    private getLastPage;
    private contextMenuOpen;
    /**
     * @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.
     * @return {Element}
     */
    getContextMenu(): Element;
    /**
     * Destroys the context menu component in the Grid.
     * @method destroy
     * @return {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;
    protected parent: IGrid;
    protected serviceLocator: ServiceLocator;
    protected dataState: PendingState;
    /**
     * Constructor for data module.
     * @hidden
     */
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    private reorderRows;
    protected getModuleName(): string;
    /**
     * The function used to initialize dataManager and external query
     * @return {void}
     */
    private initDataManager;
    /**
     * The function is used to generate updated data.Query from Grid model.
     * @return {data.Query}
     * @hidden
     */
    generateQuery(skipPage?: boolean): data.Query;
    protected aggregateQuery(query: data.Query, isForeign?: boolean): 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): 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  {data.Query} query - Defines the query which will execute along with data processing.
     * @return {Promise<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;
    /** @hidden */
    saveChanges(changes: Object, key: string, original: Object, query?: data.Query): Promise<Object>;
    private getKey;
    /** @hidden */
    isRemote(): boolean;
    private addRows;
    private removeRows;
    private getColumnByField;
    protected destroy(): void;
    getState(): PendingState;
    setState(state: PendingState): Object;
    getStateEventArgument(query: data.Query): PendingState;
    private eventPromise;
    /**
     * Gets the columns where searching needs to be performed from the Grid.
     * @return {string[]}
     */
    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;
    /**
     * Constructor for the Grid detail template module
     * @hidden
     */
    constructor(parent?: IGrid, locator?: ServiceLocator);
    private clickHandler;
    private toogleExpandcollapse;
    /**
     * @hidden
     * @param gObj
     * @param rowObj
     */
    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.
     * @return {void}
     */
    expand(target: number | Element): void;
    /**
     * Collapses a detail row with the given target.
     * @param  {Element} target - Defines the expanded element to collapse.
     * @return {void}
     */
    collapse(target: number | Element): void;
    /**
     * Expands all the detail rows of the Grid.
     * @return {void}
     */
    expandAll(): void;
    /**
     * Collapses all the detail rows of the Grid.
     * @return {void}
     */
    collapseAll(): void;
    private expandCollapse;
    private keyPressHandler;
    private refreshColSpan;
    /**
     * For internal use only - Get 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 {
    private edit;
    protected renderer: EditRender;
    private editModule;
    /** @hidden */
    formObj: inputs.FormValidator;
    mFormObj: 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;
    /**
     * Constructor for the Grid editing module
     * @hidden
     */
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    private updateColTypeObj;
    /**
     * For internal use only - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * @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.
     */
    startEdit(tr?: HTMLTableRowElement): void;
    /**
     * Cancels edited state.
     */
    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
     */
    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.
     */
    deleteRecord(fieldname?: string, data?: Object): void;
    /**
     * Deletes a visible row by TR element.
     * @param {HTMLTableRowElement} tr - Defines the table row element.
     */
    deleteRow(tr: HTMLTableRowElement): void;
    /**
     * If Grid is in editable state, you can save a record by invoking endEdit.
     */
    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.
     */
    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.
     */
    updateRow(index: number, data: Object): void;
    /**
     * Resets added, edited, and deleted records in the batch mode.
     */
    batchCancel(): void;
    /**
     * Bulk saves added, edited, and deleted records in the batch mode.
     */
    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.
     */
    editCell(index: number, field: string): void;
    /**
     * Checks the status of validation at the time of editing. If validation is passed, it returns true.
     * @return {boolean}
     */
    editFormValidate(): boolean;
    /**
     * Gets the added, edited,and deleted data before bulk save to the DataSource in batch mode.
     * @return {Object}
     */
    getBatchChanges(): Object;
    /**
     * Gets the current value of the edited component.
     */
    getCurrentEditCellData(): Object;
    /**
     * Saves the cell that is currently edited. It does not save the value to the DataSource.
     */
    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;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    private actionComplete;
    /**
     * @hidden
     */
    getCurrentEditedData(form: Element, editedData: Object): Object;
    private getValue;
    /**
     * @hidden
     */
    onActionBegin(e: NotifyArgs): void;
    /**
     * @hidden
     */
    destroyWidgets(cols?: Column[]): void;
    /**
     * @hidden
     */
    destroyForm(): void;
    /**
     * To destroy the editing.
     * @return {void}
     * @hidden
     */
    destroy(): void;
    private keyPressHandler;
    private preventBatch;
    private executeAction;
    /**
     * @hidden
     */
    applyFormValidation(cols?: Column[]): void;
    private createFormObj;
    private valErrorPlacement;
    private getElemTable;
    private validationComplete;
    private createTooltip;
    /**
     * @hidden
     */
    checkColumnIsGrouped(col: Column): boolean;
    /**
     * @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 foreignKeyData;
    private groupedColLength;
    private globalResolve;
    private gridPool;
    private locator;
    private l10n;
    /**
     * Constructor for the Grid Excel Export module.
     * @hidden
     */
    constructor(parent?: IGrid, locator?: ServiceLocator);
    /**
     * For internal use only - Get the module name.
     */
    private getModuleName;
    private init;
    /**
     * Export Grid to Excel file.
     * @param  {exportProperties} exportProperties - Defines the export properties of the Grid.
     * @param  {isMultipleExport} isMultipleExport - Defines is multiple Grid's are exported.
     * @param  {workbook} workbook - Defined the Workbook if multiple Grid is exported.
     * @param  {isCsv} isCsv - true if export to CSV.
     * @return {Promise<any>}
     */
    Map(grid: IGrid, exportProperties: ExcelExportProperties, isMultipleExport: boolean, workbook: any, isCsv: boolean, isBlob: boolean): Promise<any>;
    private exportingSuccess;
    private processRecords;
    private processInnerRecords;
    private organiseRows;
    private processGridExport;
    private processRecordContent;
    private processGroupedRows;
    private processRecordRows;
    private childGridCell;
    private processAggregates;
    private fillAggregates;
    private aggregateStyle;
    private getAggreateValue;
    private mergeOptions;
    private getColumnStyle;
    private processHeaderContent;
    private getHeaderThemeStyle;
    private updateThemeStyle;
    private getCaptionThemeStyle;
    private getRecordThemeStyle;
    private processExcelHeader;
    private updatedCellIndex;
    private processExcelFooter;
    private getIndex;
    private parseStyles;
    /**
     * To destroy the excel export
     * @return {void}
     * @hidden
     */
    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 {
    private datePicker;
    private dateTimePicker;
    private actObj;
    private numericTxtObj;
    private dlgDiv;
    private l10n;
    private dlgObj;
    private menuEle;
    private customFilterOperators;
    private dropOptr;
    private optrData;
    private menuItem;
    private menu;
    private cmenu;
    protected menuObj: navigations.ContextMenu;
    private isCMenuOpen;
    /**
     * Constructor for excel filtering module
     * @hidden
     */
    constructor(parent?: IGrid, filterSettings?: FilterSettings, serviceLocator?: ServiceLocator, customFltrOperators?: Object);
    private getCMenuDS;
    /**
     * To destroy the filter bar.
     * @return {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;
    private renderDialogue;
    private removeDialog;
    private createdDialog;
    private renderCustomFilter;
    private filterBtnClick;
    /**
     * 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.
     */
    private filterByColumn;
    private renderOperatorUI;
    private dropDownOpen;
    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 performComplexDataOperation;
    /**
     * For internal use only - Get 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);
    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: any, exportType: string, gridPool: Object): {
        childGrid: IGrid;
        element: HTMLElement;
    };
}
/**
 * @hidden
 * `ExportValueFormatter` for `PdfExport` & `ExcelExport`
 */
export  class ExportValueFormatter {
    private internationalization;
    private valueFormatter;
    constructor(culture: string);
    private returnFormattedValue;
    formatCellValue(args: any): 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 refresh;
    private values;
    private cellText;
    private nextFlMenuOpen;
    private type;
    private filterModule;
    private filterOperators;
    private fltrDlgDetails;
    private customOperators;
    private parent;
    private serviceLocator;
    private l10n;
    private valueFormatter;
    private actualPredicate;
    /**
     * Constructor for Grid filtering module
     * @hidden
     */
    constructor(parent?: IGrid, filterSettings?: FilterSettings, serviceLocator?: ServiceLocator);
    /**
     * To render filter bar when filtering enabled.
     * @return {void}
     * @hidden
     */
    render(e?: NotifyArgs): void;
    /**
     * To destroy the filter bar.
     * @return {void}
     * @hidden
     */
    destroy(): void;
    private generateRow;
    private generateCells;
    private generateCell;
    /**
     * To update filterSettings when applying filter.
     * @return {void}
     * @hidden
     */
    updateModel(): void;
    private getFilteredColsIndexByField;
    /**
     * To trigger action complete event.
     * @return {void}
     * @hidden
     */
    onActionComplete(e: NotifyArgs): void;
    private wireEvents;
    private unWireEvents;
    private enableAfterRender;
    private initialEnd;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    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.
     * @return {void}
     */
    filterByColumn(fieldName: string, filterOperator: string, filterValue: string | number | Date | boolean, predicate?: string, matchCase?: boolean, ignoreAccent?: boolean, actualFilterValue?: Object, actualOperator?: Object): void;
    private applyColumnFormat;
    private onPropertyChanged;
    private refreshFilterSettings;
    private getFilterBarElement;
    /**
     * @private
     */
    refreshFilter(): void;
    /**
     * Clears all the filtered rows of the Grid.
     * @return {void}
     */
    clearFiltering(): void;
    private checkAlreadyColFiltered;
    private columnMenuFilter;
    private filterDialogOpen;
    /**
     * 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.
     * @return {void}
     * @hidden
     */
    removeFilteredColsByField(field: string, isClearFilterBar?: boolean): void;
    /**
     * For internal use only - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    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;
    private filterIconClickHandler;
    private clickHandler;
    private filterHandler;
    private updateFilter;
    private refreshFilterIcon;
    private addFilteredClass;
}
//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 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 groupSettings;
    private element;
    private colName;
    private column;
    private isAppliedGroup;
    private isAppliedUnGroup;
    private groupGenerator;
    private visualElement;
    private helper;
    private dragStart;
    private drag;
    private dragStop;
    private drop;
    private parent;
    private serviceLocator;
    private contentRefresh;
    private sortedColumns;
    private l10n;
    private aria;
    private focus;
    /**
     * Constructor for Grid group module
     * @hidden
     */
    constructor(parent?: IGrid, groupSettings?: GroupSettingsModel, sortedColumns?: string[], serviceLocator?: ServiceLocator);
    private columnDrag;
    private columnDragStart;
    private columnDrop;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    private initialEnd;
    private keyPressHandler;
    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.
     * @return {void}
     */
    expandCollapseRows(target: Element): void;
    private updateVirtualRows;
    private expandCollapse;
    /**
     * Expands all the grouped rows of the Grid.
     * @return {void}
     */
    expandAll(): void;
    /**
     * Collapses all the grouped rows of the Grid.
     * @return {void}
     */
    collapseAll(): void;
    /**
     * The function is used to render grouping
     * @return {Element}
     * @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.
     * @return {void}
     */
    groupColumn(columnName: string): void;
    /**
     * Ungroups a column by column name.
     * @param  {string} columnName - Defines the column name to ungroup.
     * @return {void}
     */
    ungroupColumn(columnName: string): void;
    /**
     * The function used to update groupSettings
     * @return {void}
     * @hidden
     */
    updateModel(): void;
    /**
     * The function used to trigger onActionComplete
     * @return {void}
     * @hidden
     */
    onActionComplete(e: NotifyArgs): void;
    private groupAddSortingQuery;
    private addColToGroupDrop;
    private refreshToggleBtn;
    private removeColFromGroupDrop;
    private onPropertyChanged;
    private updateGroupedColumn;
    private updateButtonVisibility;
    private enableAfterRender;
    /**
     * To destroy the reorder
     * @return {void}
     * @hidden
     */
    destroy(): void;
    /**
     * Clears all the grouped columns of the Grid.
     * @return {void}
     */
    clearGrouping(): void;
    /**
     * For internal use only - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    private refreshSortIcons;
    private getGHeaderCell;
    private onGroupAggregates;
    private iterateGroupAggregates;
}
//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/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;
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator, renderer?: EditRender);
    protected clickHandler(e: MouseEvent): void;
    protected dblClickHandler(e: MouseEvent): void;
    /**
     * The function used to trigger editComplete
     * @return {void}
     * @hidden
     */
    editComplete(e: NotifyArgs): void;
    protected startEdit(tr: Element): void;
    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 blazorTemplate;
    private editFailure;
    private refreshRow;
    protected closeEdit(): void;
    protected addRecord(data?: Object, index?: number): void;
    protected deleteRecord(fieldname?: string, data?: Object): void;
    private stopEditStatus;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): 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 parent;
    /** @hidden */
    pagerObj: Pager;
    private handlers;
    /**
     * Constructor for the Grid paging module
     * @hidden
     */
    constructor(parent?: IGrid, pageSettings?: PageSettingsModel);
    /**
     * For internal use only - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * The function used to render pager from grid pageSettings
     * @return {void}
     * @hidden
     */
    render(): void;
    private onSelect;
    private addAriaAttr;
    private dataReady;
    /**
     * Refreshes the page count, pager information, and external message.
     * @return {void}
     */
    refresh(): void;
    /**
     * Navigates to the target page according to the given number.
     * @param  {number} pageNo - Defines the page number to navigate.
     * @return {void}
     */
    goToPage(pageNo: number): void;
    /**
     * @hidden
     */
    setPageSize(pageSize: number): void;
    /**
     * The function used to update pageSettings model
     * @return {void}
     * @hidden
     */
    updateModel(e?: NotifyArgs): void;
    /**
     * The function used to trigger onActionComplete
     * @return {void}
     * @hidden
     */
    onActionComplete(e: NotifyArgs): 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.
     * @return {void}
     */
    updateExternalMessage(message: string): void;
    private appendToElement;
    private enableAfterRender;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the pager
     * @return {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;
    /**
     * Constructor for the Grid PDF Export module
     * @hidden
     */
    constructor(parent?: IGrid);
    /**
     * For internal use only - Get the module name.
     */
    private getModuleName;
    private init;
    private exportWithData;
    /**
     * Used to map the input data
     * @return {void}
     */
    Map(parent?: IGrid, pdfExportProperties?: PdfExportProperties, isMultipleExport?: boolean, pdfDoc?: Object, isBlob?: boolean): Promise<Object>;
    private processExport;
    private processSectionExportProperties;
    private processGridExport;
    private getSummaryCaptionThemeStyle;
    private getHeaderThemeStyle;
    private processGroupedRecords;
    private processGridHeaders;
    private processExportProperties;
    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
     */
    private setColumnProperties;
    /**
     * set default style properties of each rows in exporting grid
     * @private
     */
    private setRecordThemeStyle;
    /**
     * generate the formatted cell values
     * @private
     */
    private processRecord;
    private childGridCell;
    private processCellStyle;
    /**
     * set text alignment of each columns in exporting grid
     * @private
     */
    private getHorizontalAlignment;
    /**
     * set vertical alignment of each columns in exporting grid
     * @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;
    /**
     * To destroy the pdf export
     * @return {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/print.d.ts
/**
 * @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;
    /**
     * Constructor for the Grid print 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/).
     * @return {void}
     */
    print(): void;
    private onEmpty;
    private actionBegin;
    private renderPrintGrid;
    private contentReady;
    private printGrid;
    private printGridElement;
    private removeColGroup;
    private hideColGroup;
    private isPrintGrid;
    /**
     * To destroy the print
     * @return {void}
     * @hidden
     */
    destroy(): void;
    /**
     * For internal use only - Get 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 parent;
    /**
     * Constructor for the Grid reorder module
     * @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.
     * @return {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.
     * @return {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.
     * @return {void}
     */
    reorderColumnByTargetIndex(fieldName: string | string[], toIndex: number): void;
    private enableAfterRender;
    private createReorderElement;
    /**
     * The function used to trigger onActionComplete
     * @return {void}
     * @hidden
     */
    onActionComplete(e: NotifyArgs): void;
    /**
     * To destroy the reorder
     * @return {void}
     * @hidden
     */
    destroy(): void;
    private drag;
    private updateScrollPostion;
    private setScrollLeft;
    private stopTimer;
    private updateArrowPosition;
    private dragStart;
    private dragStop;
    private setDisplay;
    /**
     * For internal use only - Get 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 content;
    private header;
    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
     * @hidden
     */
    constructor(parent?: IGrid);
    /**
     * Resize by field names.
     * @param  {string|string[]} fName - Defines the field name.
     * @return {void}
     */
    autoFitColumns(fName?: string | string[]): void;
    private autoFit;
    private resizeColumn;
    /**
     * To destroy the resize
     * @return {void}
     * @hidden
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    private findColumn;
    /**
     * To create table for autofit
     * @hidden
     */
    protected createTable(table: Element, text: Element[], tag: string): number;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    /**
     * @hidden
     */
    render(): void;
    private refreshHeight;
    private wireEvents;
    private unwireEvents;
    private getResizeHandlers;
    private setHandlerHeight;
    private callAutoFit;
    private resizeStart;
    private cancelResizeAction;
    private getWidth;
    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 helper;
    private dragStart;
    private drag;
    private dragStop;
    private saveChange;
    reorderRows(fromIndexes: number[], toIndex: number): void;
    private removeCell;
    private parent;
    /**
     * Constructor for the Grid print module
     * @hidden
     */
    constructor(parent?: IGrid);
    private stopTimer;
    private initializeDrag;
    private updateScrollPostion;
    private setScrollDown;
    private moveDragRows;
    private setBorder;
    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
     * @return {void}
     * @hidden
     */
    destroy(): void;
    /**
     * For internal use only - Get 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 lastScrollTop;
    private previousValues;
    private oneTimeReady;
    private content;
    private header;
    private widthService;
    private pageXY;
    /**
     * Constructor for the Grid scrolling.
     * @hidden
     */
    constructor(parent?: IGrid);
    /**
     * For internal use only - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * @hidden
     */
    setWidth(uiupdate?: boolean): void;
    /**
     * @hidden
     */
    setHeight(): void;
    /**
     * @hidden
     */
    setPadding(): 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%.
     * @return
     */
    refresh(): void;
    private getThreshold;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    private setScrollLeft;
    private onContentScroll;
    private onFreezeContentScroll;
    private onWheelScroll;
    private onTouchScroll;
    private setPageXY;
    private getPointXY;
    private wireEvents;
    /**
     * @hidden
     */
    getCssProperties(rtl?: boolean): ScrollCss;
    private ensureOverflow;
    private onPropertyChanged;
    /**
     * @hidden
     */
    destroy(): void;
    /**
     * Function to get the scrollbar width of the browser.
     * @return {number}
     * @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.
     * @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.
     * @return {void}
     */
    search(searchString: string): void;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the print
     * @return {void}
     * @hidden
     */
    destroy(): void;
    /**
     * @hidden
     */
    onPropertyChanged(e: NotifyArgs): void;
    /**
     * The function used to trigger onActionComplete
     * @return {void}
     * @hidden
     */
    onSearchComplete(e: NotifyArgs): void;
    onActionComplete(e: NotifyArgs): void;
    private cancelBeginEvent;
    /**
     * For internal use only - Get 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;
    private selectionSettings;
    private prevRowIndex;
    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 preSelectedCellIndex;
    private factory;
    private contentRenderer;
    private checkedTarget;
    private primaryKey;
    private chkField;
    private selectedRowState;
    private totalRecordsCount;
    private chkAllCollec;
    private isCheckedOnAdd;
    private persistSelectedData;
    private onDataBoundFunction;
    private actionBeginFunction;
    private actionCompleteFunction;
    private actionCompleteFunc;
    private resizeEndFn;
    private mUPTarget;
    private bdrLeft;
    private bdrRight;
    private bdrTop;
    private bdrBottom;
    private bdrAFLeft;
    private bdrAFRight;
    private bdrAFTop;
    private bdrAFBottom;
    private isInteracted;
    private checkSelectAllClicked;
    private index;
    private toggle;
    private data;
    private removed;
    private parent;
    private focus;
    private isCancelDeSelect;
    private isPreventCellSelect;
    private disableUI;
    private isPersisted;
    private cmdKeyPressed;
    private isMacOS;
    /**
     * Constructor for the Grid selection module
     * @hidden
     */
    constructor(parent?: IGrid, selectionSettings?: SelectionSettings, locator?: ServiceLocator);
    private initializeSelection;
    /**
     * The function used to trigger onActionBegin
     * @return {void}
     * @hidden
     */
    onActionBegin(args: Object, type: string): void;
    private fDataUpdate;
    /**
     * The function used to trigger onActionComplete
     * @return {void}
     * @hidden
     */
    onActionComplete(args: Object, type: string): void;
    /**
     * For internal use only - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * To destroy the selection
     * @return {void}
     * @hidden
     */
    destroy(): void;
    private isEditing;
    private getSelectedMovableRow;
    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.
     * @return {void}
     */
    selectRow(index: number, isToggle?: boolean): void;
    private selectRowCallBack;
    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.
     * @return {void}
     */
    selectRowsByRange(startIndex: number, endIndex?: number): void;
    /**
     * Selects a collection of rows by index.
     * @param  {number[]} rowIndexes - Specifies an array of row indexes.
     * @return {void}
     */
    selectRows(rowIndexes: number[]): void;
    /**
     * Select rows with existing row selection by passing row indexes.
     * @param  {number} startIndex - Specifies the row indexes.
     * @return {void}
     * @hidden
     */
    addRowsToSelection(rowIndexes: number[]): void;
    private getCollectionFromIndexes;
    private clearRow;
    private clearRowCallBack;
    private clearSelectedRow;
    private updateRowProps;
    private updatePersistCollection;
    private updatePersistDelete;
    private updateCheckBoxes;
    private updateRowSelection;
    /**
     * Deselects the currently selected rows and cells.
     * @return {void}
     */
    clearSelection(): void;
    /**
     * Deselects the currently selected rows.
     * @return {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.
     * @return {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.
     * @return {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.
     * @return {void}
     */
    selectCells(rowCellIndexes: ISelectedCell[]): void;
    /**
     * Select cells with existing cell selection by passing row and column index.
     * @param  {IIndex} startIndex - Defines the collection of row and column index.
     * @return {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.
     * @return {void}
     */
    clearCellSelection(): void;
    private getSelectedCellsElement;
    private mouseMoveHandler;
    private selectLikeExcel;
    private drawBorders;
    private positionBorders;
    private createBorders;
    private showBorders;
    private hideBorders;
    private drawAFBorders;
    private positionAFBorders;
    private createAFBorders;
    private showAFBorders;
    private hideAFBorders;
    private updateValue;
    private selectLikeAutoFill;
    private mouseUpHandler;
    private hideAutoFill;
    /**
     * @hidden
     */
    updateAutoFillPosition(): void;
    private mouseDownHandler;
    private updateStartEndCells;
    private updateStartCellsIndex;
    private enableDrag;
    private clearSelAfterRefresh;
    /**
     * @hidden
     */
    addEventListener(): 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 updateSelectedRowIndex;
    private setCheckAllState;
    private keyDownHandler;
    private keyUpHandler;
    private clickHandler;
    private popUpClickHandler;
    private showPopup;
    private rowCellSelectionHandler;
    private onCellFocused;
    /**
     * Apply ctrl + A key selection
     * @return {void}
     * @hidden
     */
    ctrlPlusA(): void;
    private applySpaceSelection;
    private applyDownUpKey;
    private applyUpDown;
    private applyRightLeftKey;
    private applyHomeEndKey;
    /**
     * Apply shift+down key selection
     * @return {void}
     * @hidden
     */
    shiftDownKey(rowIndex?: number, cellIndex?: number): void;
    private applyShiftLeftRightKey;
    private applyCtrlHomeEndKey;
    private addRemoveClassesForRow;
    private isRowType;
    private isCellType;
    private isSingleSel;
    private getRenderer;
    /**
     * Gets the collection of selected records.
     * @return {Object[]}
     */
    getSelectedRecords(): Object[];
    private addEventListener_checkbox;
    removeEventListener_checkbox(): void;
    dataReady(e: {
        requestType: string;
    }): void;
    private actionCompleteHandler;
    private selectRowIndex;
}
//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.
     * @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.
     * @return {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.
     * @return {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.
     * @return {void}
     */
    setVisible(columns?: 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 parent;
    private currentTarget;
    /**
     * Constructor for Grid sorting module
     * @hidden
     */
    constructor(parent?: IGrid, sortSettings?: SortSettings, sortedColumns?: string[], locator?: ServiceLocator);
    /**
     * The function used to update sortSettings
     * @return {void}
     * @hidden
     */
    updateModel(): void;
    /**
     * The function used to trigger onActionComplete
     * @return {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.
     * @return {void}
     */
    sortColumn(columnName: string, direction: SortDirection, isMultiSort?: boolean): void;
    private backupSettings;
    private restoreSettings;
    private updateSortedCols;
    /**
     * @hidden
     */
    onPropertyChanged(e: NotifyArgs): void;
    private refreshSortSettings;
    /**
     * Clears all the sorted columns of the Grid.
     * @return {void}
     */
    clearSorting(): void;
    private isActionPrevent;
    /**
     * Remove sorted column by field name.
     * @param {string} field - Defines the column field name to remove sort.
     * @return {void}
     * @hidden
     */
    removeSortColumn(field: string): void;
    private getSortedColsIndexByField;
    /**
     * For internal use only - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    private initialEnd;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the sorting
     * @return {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;
}
//node_modules/@syncfusion/ej2-grids/src/grid/actions/toolbar.d.ts
/**
 * The `Toolbar` module is used to handle ToolBar actions.
 * @hidden
 */
export  class Toolbar {
    private element;
    private predefinedItems;
    toolbar: navigations.Toolbar;
    private searchElement;
    private gridID;
    private parent;
    private serviceLocator;
    private l10n;
    private items;
    private searchBoxObj;
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    private render;
    /**
     * Gets the toolbar of the Grid.
     * @return {Element}
     * @hidden
     */
    getToolbar(): Element;
    /**
     * Destroys the ToolBar.
     * @method destroy
     * @return {void}
     */
    destroy(): void;
    private bindSearchEvents;
    private createToolbar;
    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.
     * @return {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;
    protected addEventListener(): void;
    protected removeEventListener(): void;
    /**
     * For internal use only - Get 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 refreshVirtualElement;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/aggregate.d.ts
/**
 * Aggregate 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 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 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 filterChoiceRequest: string;
/** @hidden */
export  const filterAfterOpen: string;
/** @hidden */
export  const filterBeforeOpen: string;
/** @hidden */
export  const filterSearchBegin: string;
/** @hidden */
export  const commandClick: 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 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 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;
//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 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.
 */
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.
 */
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 = 
/** Current page in grid is exported. */
'CurrentPage' | 
/** All pages of the grid is exported. */
'AllPages';
/**
 * 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 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';
//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 ''
     * @blazorDefaultValue null
     */
    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
     * @blazorType Syncfusion.EJ2.Blazor.Operator
     * @blazorDefaultValue Syncfusion.EJ2.Blazor.Operator.None
     */
    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;
    /**
     * @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 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;
}
/**
 * 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;
}
/**
 * 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'
     * @blazorType Syncfusion.EJ2.Blazor.Operator
     * @blazorDefaultValue Syncfusion.EJ2.Blazor.Operator.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 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 `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](http://ej2.syncfusion.com/documentation/common/template-engine/) or the HTML element ID.
     * @default ''
     */
    captionTemplate?: string;
}
/**
 * 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 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 Grid
 */
export interface GridModel extends base.ComponentModel{
    /**
     * Defines the schema of dataSource. 
     * If the `columns` declaration is empty or undefined then the `columns` are automatically generated from data source.     
     * @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.
     * @default true 
     */
    enableAltRow?: boolean;
    /**
     * If `enableHover` is set to true, the row hover is enabled in the Grid.
     * @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`.
     * @default false 
     */
    enableAutoFill?: boolean;
    /**
     * Enables or disables the key board interaction of Grid.          
     * @hidden 
     * @default true     
     */
    allowKeyboard?: 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 Grid.  
     * @default {wrapMode:"Both"}     
     */
    textWrapSettings?: TextWrapSettingsModel;
    /**
     * 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.
     * @default false     
     */
    allowPaging?: boolean;
    /**
     * Configures the pager in the Grid.  
     * @default {currentPage: 1, pageSize: 12, pageCount: 8, enableQueryString: false, pageSizes: false, template: null}     
     */
    pageSettings?: PageSettingsModel;
    /**
     * 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.
     * @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.
     * @default false
     */
    enableColumnVirtualization?: boolean;
    /**
     * Configures the search behavior in the Grid. 
     * @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.
     * @default false    
     */
    allowSorting?: boolean;
    /**
     * If `allowMultiSorting` set to true, then it will allow the user to sort multiple column in the grid.
     * > `allowSorting` should be true.
     * @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.
     * @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.
     * @default false    
     */
    allowPdfExport?: boolean;
    /**
     * Configures the sort settings.  
     * @default {columns:[]}    
     */
    sortSettings?: SortSettingsModel;
    /**
     * If `allowSelection` is set to true, it allows selection of (highlight row) Grid records by clicking it.  
     * @default true        
     */
    allowSelection?: boolean;
    /**
     * 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 `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.     
     * @default false    
     */
    allowFiltering?: 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.
     * @default false    
     */
    allowReordering?: boolean;
    /**
     * If `allowResizing` is set to true, Grid columns can be resized.      
     * @default false    
     */
    allowResizing?: boolean;
    /**
     * If `allowRowDragAndDrop` is set to true, you can drag and drop grid rows at another grid.    
     * @default false    
     */
    allowRowDragAndDrop?: boolean;
    /**
     * Configures the row drop settings.  
     * @default {targetID: ''}   
     */
    rowDropSettings?: RowDropSettingsModel;
    /**
     * Configures the filter settings of the Grid.  
     * @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.
     * @default false    
     */
    allowGrouping?: 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.
     * @default false    
     */
    showColumnMenu?: boolean;
    /**
     * Configures the group settings. 
     * @default {showDropArea: true, showToggleButton: false, showGroupedColumn: false, showUngroupButton: true, columns: []}    
     */
    groupSettings?: GroupSettingsModel;
    /**
     * Configures the edit settings. 
     * @default { allowAdding: false, allowEditing: false, allowDeleting: false, mode:'Normal',
     * allowEditOnDblClick: true, showConfirmDialog: true, showDeleteConfirmDialog: false }    
     */
    editSettings?: EditSettingsModel;
    /**
     * Configures the Grid aggregate rows.
     * > 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.
     * @default false    
     */
    showColumnChooser?: boolean;
    /**
     * Defines the scrollable height of the grid content.    
     * @default 'auto'    
     */
    height?: string | number;
    /**
     * Defines the Grid width.    
     * @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.
     * @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`](grid/#querystring-string) for parent 
     * and child relationship. 
     * 
     * > Check the [`Child Grid`](../../grid/hierarchy-grid/) for its configuration.
     * @blazorType GridModel<object>
     */
    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.
     * @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/data/api-dataManager.html) 
     * from this `dataSource`. 
     * If the `dataSource` is an existing [`data.DataManager`](https://ej2.syncfusion.com/documentation/data/api-dataManager.html),
     *  the Grid will not initialize a new one. 
     * 
     * > Check the available [`Adaptors`](../../data/adaptors/) to customize the data operation.
     * @default []    
     * @isGenericType true
     */
    dataSource?: Object | data.DataManager | DataResult;
    /**
     * Defines the height of Grid rows.
     * @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.    
     * @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 %}
     * @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.
     * @default 0
     */
    frozenRows?: number;
    /**
     * Gets or sets the number of frozen columns.
     * @default 0
     */
    frozenColumns?: number;
    /**
     * `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;
    /**
     * Triggers when the component is created.
     * @event 
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed. 
     * @event 
     * @blazorProperty 'Destroyed'
     */
    destroyed?: base.EmitType<Object>;
    /**
     * This event allows customization of Grid properties before rendering.
     * @event 
     * @blazorProperty 'OnLoad'
     */
    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 
     * @blazorProperty '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
     * @blazorProperty 'QueryCellInfo'
     */
    queryCellInfo?: base.EmitType<QueryCellInfoEventArgs>;
    /**
     * Triggered for stacked header.
     * @event 
     * @blazorProperty 'HeaderCellInfo'
     */
    headerCellInfo?: base.EmitType<HeaderCellInfoEventArgs>;
    /**
     * Triggers when Grid actions such as sorting, filtering, paging, grouping etc., starts. 
     * @event
     * @blazorProperty 'OnActionBegin'
     */
    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 
     * @blazorProperty 'OnActionComplete'
     */
    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 
     * @blazorProperty 'OnActionFailure'
     */
    actionFailure?: base.EmitType<FailureEventArgs>;
    /**
     * Triggers when data source is populated in the Grid.
     * @event 
     * @blazorProperty 'DataBound'
     */
    dataBound?: base.EmitType<Object>;
    /**
     * Triggers when record is double clicked.
     * @event 
     * @blazorProperty 'OnRecordDoubleClick'
     */
    recordDoubleClick?: base.EmitType<RecordDoubleClickEventArgs>;
    /**
     * Triggers before row selection occurs.
     * @event 
     * @blazorProperty 'RowSelecting'
     */
    rowSelecting?: base.EmitType<RowSelectingEventArgs>;
    /**
     * Triggers after a row is selected.
     * @event 
     * @blazorProperty 'RowSelected'
     */
    rowSelected?: base.EmitType<RowSelectEventArgs>;
    /**
     * Triggers before deselecting the selected row.
     * @event 
     */
    rowDeselecting?: base.EmitType<RowDeselectEventArgs>;
    /**
     * Triggers when a selected row is deselected.
     * @event 
     * @blazorProperty 'RowDeselected'
     */
    rowDeselected?: base.EmitType<RowDeselectEventArgs>;
    /**
     * Triggers before any cell selection occurs.
     * @event 
     * @blazorProperty 'CellSelecting'
     */
    cellSelecting?: base.EmitType<CellSelectingEventArgs>;
    /**
     * Triggers after a cell is selected.
     * @event 
     * @blazorProperty 'CellSelected'
     */
    cellSelected?: base.EmitType<CellSelectEventArgs>;
    /**
     * Triggers before the selected cell is deselecting.
     * @event 
     * @deprecated  
     */
    cellDeselecting?: base.EmitType<CellDeselectEventArgs>;
    /**
     * Triggers when a particular selected cell is deselected.
     * @event 
     * @deprecated  
     */
    cellDeselected?: base.EmitType<CellDeselectEventArgs>;
    /**
     * Triggers when column header element drag (move) starts. 
     * @event
     * @deprecated  
     */
    columnDragStart?: base.EmitType<ColumnDragEventArgs>;
    /**
     * Triggers when column header element is dragged (moved) continuously. 
     * @event
     * @deprecated
     */
    columnDrag?: base.EmitType<ColumnDragEventArgs>;
    /**
     * Triggers when a column header element is dropped on the target column. 
     * @event
     * @deprecated
     */
    columnDrop?: base.EmitType<ColumnDragEventArgs>;
    /**
     * Triggers after print action is completed.  
     * @event 
     * @deprecated  
     */
    printComplete?: base.EmitType<PrintEventArgs>;
    /**
     * Triggers before the print action starts.  
     * @event
     * @deprecated
     */
    beforePrint?: base.EmitType<PrintEventArgs>;
    /**
     * Triggers before exporting each cell to PDF document. You can also customize the PDF cells.
     * @event
     * @deprecated 
     */
    pdfQueryCellInfo?: base.EmitType<PdfQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each header cell to PDF document. You can also customize the PDF cells.
     * @event
     * @deprecated 
     */
    pdfHeaderQueryCellInfo?: base.EmitType<PdfHeaderQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each detail Grid to PDF document.
     * @event
     * @deprecated 
     */
    exportDetailDataBound?: base.EmitType<ExportDetailDataBoundEventArgs>;
    /**
     * Triggers before exporting each cell to Excel file.
     * You can also customize the Excel cells.
     * @event
     * @deprecated
     */
    excelQueryCellInfo?: base.EmitType<ExcelQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each header cell to Excel file.
     * You can also customize the Excel cells.
     * @event
     * @deprecated
     */
    excelHeaderQueryCellInfo?: base.EmitType<ExcelHeaderQueryCellInfoEventArgs>;
    /**
     * Triggers before Grid data is exported to Excel file.
     * @event
     * @deprecated
     */
    beforeExcelExport?: base.EmitType<Object>;
    /**
     * Triggers after Grid data is exported to Excel file.
     * @event
     * @deprecated
     */
    excelExportComplete?: base.EmitType<ExcelExportCompleteArgs>;
    /**
     * Triggers before Grid data is exported to PDF document.
     * @event
     * @blazorProperty 'OnPdfExport'
     */
    beforePdfExport?: base.EmitType<Object>;
    /**
     * Triggers after Grid data is exported to PDF document.
     * @event
     * @deprecated
     */
    pdfExportComplete?: base.EmitType<PdfExportCompleteArgs>;
    /**
     * Triggers when row element's before drag(move).
     * @event
     * @deprecated
     */
    rowDragStartHelper?: base.EmitType<RowDragEventArgs>;
    /**
     * Triggers after detail row expands.
     * > This event triggers at initial expand.  
     * @event 
     * @blazorProperty 'DetailDataBound'
     */
    detailDataBound?: base.EmitType<DetailDataBoundEventArgs>;
    /**
     * Triggers when row element's drag(move) starts. 
     * @event
     * @deprecated  
     */
    rowDragStart?: base.EmitType<RowDragEventArgs>;
    /**
     * Triggers when row elements are dragged (moved) continuously. 
     * @event
     * @deprecated  
     */
    rowDrag?: base.EmitType<RowDragEventArgs>;
    /**
     * Triggers when row elements are dropped on the target row. 
     * @event
     * @deprecated 
     */
    rowDrop?: base.EmitType<RowDragEventArgs>;
    /**
     * Triggers when toolbar item is clicked.
     * @event
     * @blazorProperty 'OnToolbarClick'
     * @blazorType Syncfusion.EJ2.Blazor.Navigations.navigations.ClickEventArgs
     */
    toolbarClick?: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Triggers before the columnChooser open.
     * @event
     * @deprecated
     */
    beforeOpenColumnChooser?: base.EmitType<ColumnChooserEventArgs>;
    /**
     * Triggers when records are added in batch mode.   
     * @event
     * @deprecated
     */
    batchAdd?: base.EmitType<BatchAddArgs>;
    /**
     * Triggers when records are deleted in batch mode.
     * @event
     * @deprecated
     */
    batchDelete?: base.EmitType<BatchDeleteArgs>;
    /**
     * Triggers when cancel the batch edit changes batch mode.
     * @event
     * @deprecated
     */
    batchCancel?: base.EmitType<BatchCancelArgs>;
    /**
     * Triggers before records are added in batch mode.
     * @event
     * @blazorProperty 'OnBatchAdd'
     */
    beforeBatchAdd?: base.EmitType<BeforeBatchAddArgs>;
    /**
     * Triggers before records are deleted in batch mode.
     * @event
     * @blazorProperty 'OnBatchDelete'
     */
    beforeBatchDelete?: base.EmitType<BeforeBatchDeleteArgs>;
    /**
     * Triggers before records are saved in batch mode.
     * @event
     * @blazorProperty 'OnBatchSave'
     */
    beforeBatchSave?: base.EmitType<BeforeBatchSaveArgs>;
    /**
     * Triggers before the record is to be edit.
     * @event
     * @blazorProperty 'OnBeginEdit'
     */
    beginEdit?: base.EmitType<BeginEditArgs>;
    /**
     * Triggers when command button is clicked.
     * @event
     * @blazorProperty 'CommandClicked'
     */
    commandClick?: base.EmitType<CommandClickEventArgs>;
    /**
     * Triggers when the cell is being edited.
     * @event
     * @blazorProperty 'OnCellEdit'
     */
    cellEdit?: base.EmitType<CellEditArgs>;
    /**
     * Triggers when cell is saved.
     * @event
     * @blazorProperty 'OnCellSave'
     */
    cellSave?: base.EmitType<CellSaveArgs>;
    /**
     * Triggers when cell is saved.
     * @event
     * @blazorProperty 'CellSaved'
     */
    cellSaved?: base.EmitType<CellSaveArgs>;
    /**
     * Triggers when column resize starts.
     * @event
     * @deprecated
     */
    resizeStart?: base.EmitType<ResizeArgs>;
    /**
     * Triggers on column resizing.
     * @event
     * @deprecated
     */
    resizing?: base.EmitType<ResizeArgs>;
    /**
     * Triggers when column resize ends.
     * @event
     * @deprecated
     */
    resizeStop?: base.EmitType<ResizeArgs>;
    /**
     * Triggers when any keyboard keys are pressed inside the grid.
     * @event
     * @deprecated
     */
    keyPressed?: base.EmitType<KeyboardEventArgs>;
    /**
     * Triggers before data is bound to Grid.
     * @event
     * @blazorProperty 'OnDataBound'
     */
    beforeDataBound?: base.EmitType<BeforeDataBoundArgs>;
    /**
     * Triggers before context menu opens.
     * @event
     * @deprecated
     */
    contextMenuOpen?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers when click on context menu.
     * @event
     * @blazorProperty 'ContextMenuItemClicked'
     * @blazorType Syncfusion.EJ2.Blazor.Navigations.navigations.MenuEventArgs
     */
    contextMenuClick?: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers before column menu opens.
     * @event
     * @deprecated  
     */
    columnMenuOpen?: base.EmitType<ColumnMenuOpenEventArgs>;
    /**
     * Triggers when click on column menu.
     * @event
     * @blazorProperty 'ColumnMenuItemClicked'
     * @blazorType Syncfusion.EJ2.Blazor.Navigations.navigations.MenuEventArgs
     */
    columnMenuClick?: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers when the check box state change in checkbox column.
     * @event
     * @deprecated
     */
    checkBoxChange?: base.EmitType<CheckBoxChangeEventArgs>;
    /**
     * Triggers before Grid copy action.
     * @event
     * @deprecated
     */
    beforeCopy?: base.EmitType<BeforeCopyEventArgs>;
    /**
     * Triggers before Grid paste action.
     * @event
     * @deprecated 
     */
    beforePaste?: base.EmitType<BeforePasteEventArgs>;
    /**
     * 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
     * @deprecated  
     */
    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
     * @deprecated 
     */
    dataSourceChanged?: base.EmitType<DataSourceChangedEventArgs>;
}
//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 ''
     * @blazorDefaultValue null
     */
    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
     * @blazorType Syncfusion.EJ2.Blazor.Operator
     * @blazorDefaultValue Syncfusion.EJ2.Blazor.Operator.None
     */
    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;
    /**
     * @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 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;
}
/**
 * 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;
}
/**
 * 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'
     * @blazorType Syncfusion.EJ2.Blazor.Operator
     * @blazorDefaultValue Syncfusion.EJ2.Blazor.Operator.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 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 `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](http://ej2.syncfusion.com/documentation/common/template-engine/) or the HTML element ID.
     * @default ''
     */
    captionTemplate: string;
}
/**
 * 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 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;
}
/**
 * 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 detailTemplateFn;
    private sortedColumns;
    private footerElement;
    private inViewIndexes;
    private mediaCol;
    private getShowHideService;
    private mediaColumn;
    private media;
    /** @hidden */
    invokedFromMedia: boolean;
    private dataBoundFunction;
    private freezeRefresh;
    /** @hidden */
    recordsCount: number;
    /** @hidden */
    isVirtualAdaptive: boolean;
    /** @hidden */
    vRows: Row<Column>[];
    /** @hidden */
    vcRows: Row<Column>[];
    /** @hidden */
    vGroupOffsets: {
        [x: number]: number;
    };
    /** @hidden */
    isInitialLoad: boolean;
    /**
     * @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 */
    parentDetails: ParentDetails;
    /** @hidden */
    currentAction: Action;
    /** @hidden */
    isEdit: boolean;
    /** @hidden */
    commonQuery: data.Query;
    /** @hidden */
    scrollPosition: ScrollPositionType;
    /** @hidden */
    isLastCellPrimaryKey: boolean;
    /** @hidden */
    filterOperators: IFilterOperator;
    /** @hidden */
    localeObj: base.L10n;
    isSelectedRowIndexUpdating: boolean;
    private defaultLocale;
    private keyConfigs;
    private keyPress;
    private toolTipObj;
    private prevElement;
    private stackedColumn;
    /** @hidden */
    lockcolPositionCount: number;
    /** @hidden */
    prevPageMoving: boolean;
    /** @hidden */
    pageTemplateChange: 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 `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;
    private focusModule;
    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.
     * @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.
     * @default true
     */
    enableAltRow: boolean;
    /**
     * If `enableHover` is set to true, the row hover is enabled in the Grid.
     * @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`.
     * @default false
     */
    enableAutoFill: boolean;
    /**
     * Enables or disables the key board interaction of Grid.
     * @hidden
     * @default true
     */
    allowKeyboard: 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 Grid.
     * @default {wrapMode:"Both"}
     */
    textWrapSettings: TextWrapSettingsModel;
    /**
     * 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.
     * @default false
     */
    allowPaging: boolean;
    /**
     * Configures the pager in the Grid.
     * @default {currentPage: 1, pageSize: 12, pageCount: 8, enableQueryString: false, pageSizes: false, template: null}
     */
    pageSettings: PageSettingsModel;
    /**
     * 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.
     * @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.
     * @default false
     */
    enableColumnVirtualization: boolean;
    /**
     * Configures the search behavior in the Grid.
     * @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.
     * @default false
     */
    allowSorting: boolean;
    /**
     * If `allowMultiSorting` set to true, then it will allow the user to sort multiple column in the grid.
     * > `allowSorting` should be true.
     * @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.
     * @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.
     * @default false
     */
    allowPdfExport: boolean;
    /**
     * Configures the sort settings.
     * @default {columns:[]}
     */
    sortSettings: SortSettingsModel;
    /**
     * If `allowSelection` is set to true, it allows selection of (highlight row) Grid records by clicking it.
     * @default true
     */
    allowSelection: boolean;
    /**
     * 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 `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.
     * @default false
     */
    allowFiltering: 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.
     * @default false
     */
    allowReordering: boolean;
    /**
     * If `allowResizing` is set to true, Grid columns can be resized.
     * @default false
     */
    allowResizing: boolean;
    /**
     * If `allowRowDragAndDrop` is set to true, you can drag and drop grid rows at another grid.
     * @default false
     */
    allowRowDragAndDrop: boolean;
    /**
     * Configures the row drop settings.
     * @default {targetID: ''}
     */
    rowDropSettings: RowDropSettingsModel;
    /**
     * Configures the filter settings of the Grid.
     * @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.
     * @default false
     */
    allowGrouping: 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.
     * @default false
     */
    showColumnMenu: boolean;
    /**
     * Configures the group settings.
     * @default {showDropArea: true, showToggleButton: false, showGroupedColumn: false, showUngroupButton: true, columns: []}
     */
    groupSettings: GroupSettingsModel;
    /**
     * Configures the edit settings.
     * @default { allowAdding: false, allowEditing: false, allowDeleting: false, mode:'Normal',
     * allowEditOnDblClick: true, showConfirmDialog: true, showDeleteConfirmDialog: false }
     */
    editSettings: EditSettingsModel;
    /**
     * Configures the Grid aggregate rows.
     * > 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.
     * @default false
     */
    showColumnChooser: boolean;
    /**
     * Defines the scrollable height of the grid content.
     * @default 'auto'
     */
    height: string | number;
    /**
     * Defines the Grid width.
     * @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.
     * @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`](grid/#querystring-string) for parent
     * and child relationship.
     *
     * > Check the [`Child Grid`](../../grid/hierarchy-grid/) for its configuration.
     * @blazorType GridModel<object>
     */
    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.
     * @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/data/api-dataManager.html)
     * from this `dataSource`.
     * If the `dataSource` is an existing [`data.DataManager`](https://ej2.syncfusion.com/documentation/data/api-dataManager.html),
     *  the Grid will not initialize a new one.
     *
     * > Check the available [`Adaptors`](../../data/adaptors/) to customize the data operation.
     * @default []
     * @isGenericType true
     */
    dataSource: Object | data.DataManager | DataResult;
    /**
     * Defines the height of Grid rows.
     * @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.
     * @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 %}
     * @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.
     * @default 0
     */
    frozenRows: number;
    /**
     * Gets or sets the number of frozen columns.
     * @default 0
     */
    frozenColumns: number;
    /**
     * `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;
    /**
     * Triggers when the component is created.
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the component is destroyed.
     * @event
     * @blazorProperty 'Destroyed'
     */
    destroyed: base.EmitType<Object>;
    /**
     * This event allows customization of Grid properties before rendering.
     * @event
     * @blazorProperty 'OnLoad'
     */
    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
     * @blazorProperty '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
     * @blazorProperty 'QueryCellInfo'
     */
    queryCellInfo: base.EmitType<QueryCellInfoEventArgs>;
    /**
     * Triggered for stacked header.
     * @event
     * @blazorProperty 'HeaderCellInfo'
     */
    headerCellInfo: base.EmitType<HeaderCellInfoEventArgs>;
    /**
     * Triggers when Grid actions such as sorting, filtering, paging, grouping etc., starts.
     * @event
     * @blazorProperty 'OnActionBegin'
     */
    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
     * @blazorProperty 'OnActionComplete'
     */
    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
     * @blazorProperty 'OnActionFailure'
     */
    actionFailure: base.EmitType<FailureEventArgs>;
    /**
     * Triggers when data source is populated in the Grid.
     * @event
     * @blazorProperty 'DataBound'
     */
    dataBound: base.EmitType<Object>;
    /**
     * Triggers when record is double clicked.
     * @event
     * @blazorProperty 'OnRecordDoubleClick'
     */
    recordDoubleClick: base.EmitType<RecordDoubleClickEventArgs>;
    /**
     * Triggers before row selection occurs.
     * @event
     * @blazorProperty 'RowSelecting'
     */
    rowSelecting: base.EmitType<RowSelectingEventArgs>;
    /**
     * Triggers after a row is selected.
     * @event
     * @blazorProperty 'RowSelected'
     */
    rowSelected: base.EmitType<RowSelectEventArgs>;
    /**
     * Triggers before deselecting the selected row.
     * @event
     */
    rowDeselecting: base.EmitType<RowDeselectEventArgs>;
    /**
     * Triggers when a selected row is deselected.
     * @event
     * @blazorProperty 'RowDeselected'
     */
    rowDeselected: base.EmitType<RowDeselectEventArgs>;
    /**
     * Triggers before any cell selection occurs.
     * @event
     * @blazorProperty 'CellSelecting'
     */
    cellSelecting: base.EmitType<CellSelectingEventArgs>;
    /**
     * Triggers after a cell is selected.
     * @event
     * @blazorProperty 'CellSelected'
     */
    cellSelected: base.EmitType<CellSelectEventArgs>;
    /**
     * Triggers before the selected cell is deselecting.
     * @event
     * @deprecated
     */
    cellDeselecting: base.EmitType<CellDeselectEventArgs>;
    /**
     * Triggers when a particular selected cell is deselected.
     * @event
     * @deprecated
     */
    cellDeselected: base.EmitType<CellDeselectEventArgs>;
    /**
     * Triggers when column header element drag (move) starts.
     * @event
     * @deprecated
     */
    columnDragStart: base.EmitType<ColumnDragEventArgs>;
    /**
     * Triggers when column header element is dragged (moved) continuously.
     * @event
     * @deprecated
     */
    columnDrag: base.EmitType<ColumnDragEventArgs>;
    /**
     * Triggers when a column header element is dropped on the target column.
     * @event
     * @deprecated
     */
    columnDrop: base.EmitType<ColumnDragEventArgs>;
    /**
     * Triggers after print action is completed.
     * @event
     * @deprecated
     */
    printComplete: base.EmitType<PrintEventArgs>;
    /**
     * Triggers before the print action starts.
     * @event
     * @deprecated
     */
    beforePrint: base.EmitType<PrintEventArgs>;
    /**
     * Triggers before exporting each cell to PDF document. You can also customize the PDF cells.
     * @event
     * @deprecated
     */
    pdfQueryCellInfo: base.EmitType<PdfQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each header cell to PDF document. You can also customize the PDF cells.
     * @event
     * @deprecated
     */
    pdfHeaderQueryCellInfo: base.EmitType<PdfHeaderQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each detail Grid to PDF document.
     * @event
     * @deprecated
     */
    exportDetailDataBound: base.EmitType<ExportDetailDataBoundEventArgs>;
    /**
     * Triggers before exporting each cell to Excel file.
     * You can also customize the Excel cells.
     * @event
     * @deprecated
     */
    excelQueryCellInfo: base.EmitType<ExcelQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each header cell to Excel file.
     * You can also customize the Excel cells.
     * @event
     * @deprecated
     */
    excelHeaderQueryCellInfo: base.EmitType<ExcelHeaderQueryCellInfoEventArgs>;
    /**
     * Triggers before Grid data is exported to Excel file.
     * @event
     * @deprecated
     */
    beforeExcelExport: base.EmitType<Object>;
    /**
     * Triggers after Grid data is exported to Excel file.
     * @event
     * @deprecated
     */
    excelExportComplete: base.EmitType<ExcelExportCompleteArgs>;
    /**
     * Triggers before Grid data is exported to PDF document.
     * @event
     * @blazorProperty 'OnPdfExport'
     */
    beforePdfExport: base.EmitType<Object>;
    /**
     * Triggers after Grid data is exported to PDF document.
     * @event
     * @deprecated
     */
    pdfExportComplete: base.EmitType<PdfExportCompleteArgs>;
    /**
     * Triggers when row element's before drag(move).
     * @event
     * @deprecated
     */
    rowDragStartHelper: base.EmitType<RowDragEventArgs>;
    /**
     * Triggers after detail row expands.
     * > This event triggers at initial expand.
     * @event
     * @blazorProperty 'DetailDataBound'
     */
    detailDataBound: base.EmitType<DetailDataBoundEventArgs>;
    /**
     * Triggers when row element's drag(move) starts.
     * @event
     * @deprecated
     */
    rowDragStart: base.EmitType<RowDragEventArgs>;
    /**
     * Triggers when row elements are dragged (moved) continuously.
     * @event
     * @deprecated
     */
    rowDrag: base.EmitType<RowDragEventArgs>;
    /**
     * Triggers when row elements are dropped on the target row.
     * @event
     * @deprecated
     */
    rowDrop: base.EmitType<RowDragEventArgs>;
    /**
     * Triggers when toolbar item is clicked.
     * @event
     * @blazorProperty 'OnToolbarClick'
     * @blazorType Syncfusion.EJ2.Blazor.Navigations.navigations.ClickEventArgs
     */
    toolbarClick: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Triggers before the columnChooser open.
     * @event
     * @deprecated
     */
    beforeOpenColumnChooser: base.EmitType<ColumnChooserEventArgs>;
    /**
     * Triggers when records are added in batch mode.
     * @event
     * @deprecated
     */
    batchAdd: base.EmitType<BatchAddArgs>;
    /**
     * Triggers when records are deleted in batch mode.
     * @event
     * @deprecated
     */
    batchDelete: base.EmitType<BatchDeleteArgs>;
    /**
     * Triggers when cancel the batch edit changes batch mode.
     * @event
     * @deprecated
     */
    batchCancel: base.EmitType<BatchCancelArgs>;
    /**
     * Triggers before records are added in batch mode.
     * @event
     * @blazorProperty 'OnBatchAdd'
     */
    beforeBatchAdd: base.EmitType<BeforeBatchAddArgs>;
    /**
     * Triggers before records are deleted in batch mode.
     * @event
     * @blazorProperty 'OnBatchDelete'
     */
    beforeBatchDelete: base.EmitType<BeforeBatchDeleteArgs>;
    /**
     * Triggers before records are saved in batch mode.
     * @event
     * @blazorProperty 'OnBatchSave'
     */
    beforeBatchSave: base.EmitType<BeforeBatchSaveArgs>;
    /**
     * Triggers before the record is to be edit.
     * @event
     * @blazorProperty 'OnBeginEdit'
     */
    beginEdit: base.EmitType<BeginEditArgs>;
    /**
     * Triggers when command button is clicked.
     * @event
     * @blazorProperty 'CommandClicked'
     */
    commandClick: base.EmitType<CommandClickEventArgs>;
    /**
     * Triggers when the cell is being edited.
     * @event
     * @blazorProperty 'OnCellEdit'
     */
    cellEdit: base.EmitType<CellEditArgs>;
    /**
     * Triggers when cell is saved.
     * @event
     * @blazorProperty 'OnCellSave'
     */
    cellSave: base.EmitType<CellSaveArgs>;
    /**
     * Triggers when cell is saved.
     * @event
     * @blazorProperty 'CellSaved'
     */
    cellSaved: base.EmitType<CellSaveArgs>;
    /**
     * Triggers when column resize starts.
     * @event
     * @deprecated
     */
    resizeStart: base.EmitType<ResizeArgs>;
    /**
     * Triggers on column resizing.
     * @event
     * @deprecated
     */
    resizing: base.EmitType<ResizeArgs>;
    /**
     * Triggers when column resize ends.
     * @event
     * @deprecated
     */
    resizeStop: base.EmitType<ResizeArgs>;
    /**
     * Triggers when any keyboard keys are pressed inside the grid.
     * @event
     * @deprecated
     */
    keyPressed: base.EmitType<KeyboardEventArgs>;
    /**
     * Triggers before data is bound to Grid.
     * @event
     * @blazorProperty 'OnDataBound'
     */
    beforeDataBound: base.EmitType<BeforeDataBoundArgs>;
    /**
     * Triggers before context menu opens.
     * @event
     * @deprecated
     */
    contextMenuOpen: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers when click on context menu.
     * @event
     * @blazorProperty 'ContextMenuItemClicked'
     * @blazorType Syncfusion.EJ2.Blazor.Navigations.navigations.MenuEventArgs
     */
    contextMenuClick: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers before column menu opens.
     * @event
     * @deprecated
     */
    columnMenuOpen: base.EmitType<ColumnMenuOpenEventArgs>;
    /**
     * Triggers when click on column menu.
     * @event
     * @blazorProperty 'ColumnMenuItemClicked'
     * @blazorType Syncfusion.EJ2.Blazor.Navigations.navigations.MenuEventArgs
     */
    columnMenuClick: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers when the check box state change in checkbox column.
     * @event
     * @deprecated
     */
    checkBoxChange: base.EmitType<CheckBoxChangeEventArgs>;
    /**
     * Triggers before Grid copy action.
     * @event
     * @deprecated
     */
    beforeCopy: base.EmitType<BeforeCopyEventArgs>;
    /**
     * Triggers before Grid paste action.
     * @event
     * @deprecated
     */
    beforePaste: base.EmitType<BeforePasteEventArgs>;
    /**
     * 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
     * @deprecated
     */
    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
     * @deprecated
     */
    dataSourceChanged: base.EmitType<DataSourceChangedEventArgs>;
    /**
     * Constructor for creating the component
     * @hidden
     */
    constructor(options?: GridModel, element?: string | HTMLElement);
    /**
     * Get the properties to be maintained in the persisted state.
     * @return {string}
     * @hidden
     */
    getPersistData(): string;
    /**
     * To provide the array of modules needed for component rendering
     * @return {base.ModuleDeclaration[]}
     * @hidden
     */
    requiredModules(): base.ModuleDeclaration[];
    extendRequiredModules(modules: base.ModuleDeclaration[]): void;
    /**
     * For internal use only - Initialize the event handler;
     * @private
     */
    protected preRender(): void;
    private initProperties;
    /**
     * For internal use only - To Initialize the component rendering.
     * @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.
     */
    showSpinner(): void;
    /**
     * Manually showed spinner needs to hide by `hideSpinnner`.
     */
    hideSpinner(): void;
    private updateStackedFilter;
    private getMediaColumns;
    private pushMediaColumn;
    /**
     * @hidden
     */
    updateMediaColumns(col: Column): void;
    /**
     * @hidden
     */
    mediaQueryUpdate(columnIndex: number, e?: MediaQueryList): void;
    private refreshMediaCol;
    /**
     * For internal use only - Initialize the event handler
     * @private
     */
    protected eventInitializer(): void;
    /**
     * Destroys the component (detaches/removes all event handlers, attributes, classes, and empties the component element).
     * @method destroy
     * @return {void}
     */
    destroy(): void;
    private destroyDependentModules;
    /**
     * For internal use only - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    private enableBoxSelection;
    /**
     * Called internally if any of the property value changed.
     * @hidden
     */
    onPropertyChanged(newProp: GridModel, oldProp: GridModel): void;
    private extendedPropertyChange;
    private maintainSelection;
    /**
     * @private
     */
    setProperties(prop: Object, muteOnChange?: boolean): void;
    /**
     * @hidden
     */
    updateDefaultCursor(): void;
    private updateColumnModel;
    private updateFrozenColumns;
    private updateLockableColumns;
    private checkLockColumns;
    /**
     * Gets the columns from the Grid.
     * @return {Column[]}
     * @blazorType List<GridColumn>
     */
    getColumns(isRefresh?: boolean): Column[];
    /**
     * @private
     */
    getStackedHeaderColumnByHeaderText(stackedHeader: string, col: Column[]): Column;
    /**
     * @private
     */
    getColumnIndexesInView(): number[];
    /**
     * @private
     */
    getQuery(): data.Query;
    /**
     * @private
     */
    getLocaleConstants(): Object;
    /**
     * @private
     */
    setColumnIndexesInView(indexes: number[]): void;
    /**
     * Gets the visible columns from the Grid.
     * @return {Column[]}
     * @blazorType List<GridColumn>
     */
    getVisibleColumns(): Column[];
    /**
     * Gets the header div of the Grid.
     * @return {Element}
     */
    getHeaderContent(): Element;
    /**
     * Sets the header div of the Grid to replace the old header.
     * @param  {Element} element - Specifies the Grid header.
     * @return {void}
     */
    setGridHeaderContent(element: Element): void;
    /**
     * Gets the content table of the Grid.
     * @return {Element}
     */
    getContentTable(): Element;
    /**
     * Sets the content table of the Grid to replace the old content table.
     * @param  {Element} element - Specifies the Grid content table.
     * @return {void}
     */
    setGridContentTable(element: Element): void;
    /**
     * Gets the content div of the Grid.
     * @return {Element}
     */
    getContent(): Element;
    /**
     * Sets the content div of the Grid to replace the old Grid content.
     * @param  {Element} element - Specifies the Grid content.
     * @return {void}
     */
    setGridContent(element: Element): void;
    /**
     * Gets the header table element of the Grid.
     * @return {Element}
     */
    getHeaderTable(): Element;
    /**
     * Sets the header table of the Grid to replace the old one.
     * @param  {Element} element - Specifies the Grid header table.
     * @return {void}
     */
    setGridHeaderTable(element: Element): void;
    /**
     * Gets the footer div of the Grid.
     * @return {Element}
     */
    getFooterContent(): Element;
    /**
     * Gets the footer table element of the Grid.
     * @return {Element}
     */
    getFooterContentTable(): Element;
    /**
     * Gets the pager of the Grid.
     * @return {Element}
     */
    getPager(): Element;
    /**
     * Sets the pager of the Grid to replace the old pager.
     * @param  {Element} element - Specifies the Grid pager.
     * @return {void}
     */
    setGridPager(element: Element): void;
    /**
     * Gets a row by index.
     * @param  {number} index - Specifies the row index.
     * @return {Element}
     */
    getRowByIndex(index: number): Element;
    /**
     * Gets a movable tables row by index.
     * @param  {number} index - Specifies the row index.
     * @return {Element}
     */
    getMovableRowByIndex(index: number): Element;
    /**
     * Gets all the data rows of the Grid.
     * @return {Element[]}
     */
    getRows(): Element[];
    /**
     * Get a row information based on cell
     * @param {Element}
     * @return RowInfo
     */
    getRowInfo(target: Element | EventTarget): RowInfo;
    /**
     * Gets the Grid's movable content rows from frozen grid.
     * @return {Element[]}
     */
    getMovableRows(): Element[];
    /**
     * Gets all the Grid's data rows.
     * @return {Element[]}
     */
    getDataRows(): Element[];
    /**
     * @hidden
     */
    addMovableRows(fRows: HTMLElement[], mrows: HTMLElement[]): HTMLElement[];
    private generateDataRows;
    /**
     * Gets all the Grid's movable table data rows.
     * @return {Element[]}
     */
    getMovableDataRows(): 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.
     */
    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.
     */
    setRowData(key: string | number, rowData?: Object): void;
    /**
     * Gets a cell by row and column index.
     * @param  {number} rowIndex - Specifies the row index.
     * @param  {number} columnIndex - Specifies the column index.
     * @return {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.
     * @return {Element}
     */
    getMovableCellFromIndex(rowIndex: number, columnIndex: number): Element;
    /**
     * Gets a column header by column index.
     * @param  {number} index - Specifies the column index.
     * @return {Element}
     */
    getColumnHeaderByIndex(index: number): Element;
    /**
     * @hidden
     */
    getRowObjectFromUID(uid: string): Row<Column>;
    private rowObject;
    /**
     * @hidden
     */
    getRowsObject(): Row<Column>[];
    /**
     * @hidden
     */
    getMovableRowsObject(): Row<Column>[];
    /**
     * Gets a column header by column name.
     * @param  {string} field - Specifies the column name.
     * @return {Element}
     */
    getColumnHeaderByField(field: string): Element;
    /**
     * Gets a column header by UID.
     * @param  {string} field - Specifies the column uid.
     * @return {Element}
     */
    getColumnHeaderByUid(uid: string): Element;
    /**
     * @hidden
     * @blazorType GridColumn
     */
    getColumnByIndex(index: number): Column;
    /**
     * Gets a Column by column name.
     * @param  {string} field - Specifies the column name.
     * @return {Column}
     * @blazorType GridColumn
     */
    getColumnByField(field: string): Column;
    /**
     * Gets a column index by column name.
     * @param  {string} field - Specifies the column name.
     * @return {number}
     */
    getColumnIndexByField(field: string): number;
    /**
     * Gets a column by UID.
     * @param  {string} uid - Specifies the column UID.
     * @return {Column}
     * @blazorType GridColumn
     */
    getColumnByUid(uid: string): Column;
    /**
     * @hidden
     */
    getStackedColumns(columns: Column[], stackedColumn?: Column[]): Column[];
    /**
     * Gets a column index by UID.
     * @param  {string} uid - Specifies the column UID.
     * @return {number}
     */
    getColumnIndexByUid(uid: string): number;
    /**
     * Gets UID by column name.
     * @param  {string} field - Specifies the column name.
     * @return {string}
     */
    getUidByColumnField(field: string): string;
    /**
     * Gets TH index by column uid value.
     * @private
     * @param  {string} uid - Specifies the column uid.
     * @return {number}
     */
    getNormalizedColumnIndex(uid: string): number;
    /**
     * Gets the collection of column fields.
     * @return {string[]}
     */
    getColumnFieldNames(): string[];
    /**
     * Gets a compiled row template.
     * @return {Function}
     * @private
     */
    getRowTemplate(): Function;
    /**
     * Gets a compiled detail row template.
     * @private
     * @return {Function}
     */
    getDetailTemplate(): Function;
    /**
     * Gets a compiled detail row template.
     * @private
     * @return {Function}
     */
    getEditTemplate(): Function;
    /**
     * Get the names of the primary key columns of the Grid.
     * @return {string[]}
     */
    getPrimaryKeyFieldNames(): string[];
    /**
     * Refreshes the Grid header and content.
     */
    refresh(): void;
    /**
     * Refreshes the Grid header.
     */
    refreshHeader(): void;
    /**
     * Gets the collection of selected rows.
     * @return {Element[]}
     */
    getSelectedRows(): Element[];
    /**
     * Gets the collection of selected row indexes.
     * @return {number[]}
     */
    getSelectedRowIndexes(): number[];
    /**
     * Gets the collection of selected row and cell indexes.
     * @return {number[]}
     */
    getSelectedRowCellIndexes(): ISelectedCell[];
    /**
     * Gets the collection of selected records.
     * @return {Object[]}
     * @isGenericType true
     */
    getSelectedRecords(): Object[];
    /**
     * Gets the data module.
     * @return {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.
     * @return {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.
     * @return {void}
     */
    hideColumns(keys: string | string[], hideBy?: string): void;
    /**
     * @hidden
     */
    getFrozenColumns(): number;
    /**
     * @hidden
     */
    getVisibleFrozenColumns(): number;
    private getVisibleFrozenColumnsCount;
    private getVisibleFrozenCount;
    private getFrozenCount;
    /**
     * Navigates to the specified target page.
     * @param  {number} pageNo - Defines the page number to navigate.
     * @return {void}
     */
    goToPage(pageNo: number): void;
    /**
     * Defines the text of external message.
     * @param  {string} message - Defines the message to update.
     * @return {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.
     * @return {void}
     */
    sortColumn(columnName: string, direction: SortDirection, isMultiSort?: boolean): void;
    /**
     * Clears all the sorted columns of the Grid.
     * @return {void}
     */
    clearSorting(): void;
    /**
     * Remove sorted column by field name.
     * @param {string} field - Defines the column field name to remove sort.
     * @return {void}
     * @hidden
     */
    removeSortColumn(field: string): 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.
     * @return {void}
     */
    filterByColumn(fieldName: string, filterOperator: string, filterValue: string | number | Date | boolean, predicate?: string, matchCase?: boolean, ignoreAccent?: boolean, actualFilterValue?: string, actualOperator?: string): void;
    /**
     * Clears all the filtered rows of the Grid.
     * @return {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.
     * @return {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.
     * @return {void}
     */
    selectRow(index: number, isToggle?: boolean): void;
    /**
     * Selects a collection of rows by indexes.
     * @param  {number[]} rowIndexes - Specifies the row indexes.
     * @return {void}
     */
    selectRows(rowIndexes: number[]): void;
    /**
     * Deselects the current selected rows and cells.
     * @return {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.
     * @return {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.
     * @return {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.
     * @return {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).
     * @return {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.
     */
    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.
     * @return {void}
     */
    startEdit(): void;
    /**
     * If Grid is in editable state, you can save a record by invoking endEdit.
     */
    endEdit(): void;
    /**
     * Cancels edited state.
     */
    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
     */
    addRecord(data?: Object, index?: number): void;
    /**
     * Delete any visible row by TR element.
     * @param {HTMLTableRowElement} tr - Defines the table row element.
     */
    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.
     */
    editCell(index: number, field: string): void;
    /**
     * Saves the cell that is currently edited. It does not save the value to the DataSource.
     */
    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.
     */
    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.
     */
    updateRow(index: number, data: Object): void;
    /**
     * Gets the added, edited,and deleted data before bulk save to the DataSource in batch mode.
     * @return {Object}
     */
    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.
     * @return {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.
     */
    copy(withHeader?: boolean): void;
    /**
     * @hidden
     */
    recalcIndentWidth(): void;
    /**
     * @hidden
     */
    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.
     * @return {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.
     * @return {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.
     * @return {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.
     * @return {void}
     */
    reorderRows(fromIndexes: number[], toIndex: number): void;
    /**
     * @hidden
     */
    refreshDataSource(e: ReturnType, args: NotifyArgs): 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.
     * @return {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;
    /**
     * @hidden
     */
    createColumnchooser(x: number, y: number, target: Element): void;
    private initializeServices;
    private processModel;
    private initForeignColumn;
    private gridRender;
    dataReady(): void;
    private updateRTL;
    private createGridPopUpElement;
    private updateGridLines;
    private updateResizeLines;
    /**
     * The function is used to apply text wrap
     * @return {void}
     * @hidden
     */
    applyTextWrap(): void;
    /**
     * The function is used to remove text wrap
     * @return {void}
     * @hidden
     */
    removeTextWrap(): void;
    /**
     * The function is used to add Tooltip to the grid cell that has ellipsiswithtooltip clip mode.
     * @return {void}
     * @hidden
     */
    createTooltip(): void;
    private getTooltipStatus;
    private mouseMoveHandler;
    private isEllipsisTooltip;
    private scrollHandler;
    /**
     * To create table for ellipsiswithtooltip
     * @hidden
     */
    protected createTable(table: Element, tag: string, type: string): HTMLDivElement;
    private onKeyPressed;
    /**
     * Binding events to the element while component creation.
     * @hidden
     */
    wireEvents(): void;
    /**
     * Unbinding events from the element while component destroy.
     * @hidden
     */
    unwireEvents(): void;
    /**
     * @hidden
     */
    addListener(): void;
    /**
     * @hidden
     */
    removeListener(): void;
    private blazorTemplate;
    /**
     * Get current visible data of grid.
     * @return {Object[]}
     * @hidden
     * @isGenericType true
     */
    getCurrentViewRecords(): Object[];
    private mouseClickHandler;
    private checkEdit;
    private dblClickHandler;
    private focusOutHandler;
    private isChildGrid;
    private mergePersistGridData;
    private mergeColumns;
    /**
     * @hidden
     */
    isDetail(): boolean;
    private isCommandColumn;
    private isForeignKeyEnabled;
    private keyPressHandler;
    private keyActionHandler;
    /**
     * @hidden
     */
    setInjectedModules(modules: Function[]): void;
    private updateColumnObject;
    /**
     * Gets the foreign columns from Grid.
     * @return {Column[]}
     * @blazorType List<GridColumn>
     */
    getForeignKeyColumns(): Column[];
    /**
     * @hidden
     */
    getRowHeight(): number;
    /**
     * Refreshes the Grid column changes.
     */
    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  {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.
     * @return {Promise<any>}
     * @blazorType void
     */
    excelExport(excelExportProperties?: ExcelExportProperties, isMultipleExport?: boolean, workbook?: any, 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  {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.
     * @return {Promise<any>}
     * @blazorType void
     */
    csvExport(excelExportProperties?: ExcelExportProperties, isMultipleExport?: boolean, workbook?: any, 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.
     * @return {Promise<any>}
     * @blazorType void
     */
    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.
     * @return {void}
     */
    groupColumn(columnName: string): void;
    /**
     * Expands all the grouped rows of the Grid.
     * @return {void}
     */
    groupExpandAll(): void;
    /**
    * Collapses all the grouped rows of the Grid.
    * @return {void}
    */
    groupCollapseAll(): void;
    /**
     * Expands or collapses grouped rows by target element.
     * @param  {Element} target - Defines the target element of the grouped row.
     * @return {void}
     */
    /**
     * Clears all the grouped columns of the Grid.
     * @return {void}
     */
    clearGrouping(): void;
    /**
     * Ungroups a column by column name.
     * @param  {string} columnName - Defines the column name to ungroup.
     * @return {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.
     * @return {void}
     */
    openColumnChooser(x?: number, y?: number): void;
    /**
     * Collapses a detail row with the given target.
     * @param  {Element} target - Defines the expanded element to collapse.
     * @return {void}
     */
    /**
     * Collapses all the detail rows of the Grid.
     * @return {void}
     */
    detailCollapseAll(): void;
    /**
     * Expands a detail row with the given target.
     * @param  {Element} target - Defines the collapsed element to expand.
     * @return {void}
     */
    /**
    * Expands all the detail rows of the Grid.
    * @return {void}
    */
    detailExpandAll(): void;
    /**
     * Deselects the currently selected cells.
     * @return {void}
     */
    clearCellSelection(): void;
    /**
     * Deselects the currently selected rows.
     * @return {void}
     */
    clearRowSelection(): void;
    /**
     * Selects a collection of cells by row and column indexes.
     * @param  {ISelectedCell[]} rowCellIndexes - Specifies the row and column indexes.
     * @return {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.
     * @return {void}
     */
    selectRowsByRange(startIndex: number, endIndex?: number): void;
    /**
     * @hidden
     */
    isContextMenuOpen(): boolean;
    /**
     * @hidden
     */
    ensureModuleInjected(module: Function): boolean;
    /**
     * Destroys the given template reference.
     * @param {string[]} propertyNames - Defines the collection of template name.
     */
    destroyTemplate(propertyNames?: string[], index?: any): void;
    /**
     * @hidden
     * @private
     */
    log(type: string | string[], args?: Object): void;
    /**
     * @hidden
     */
    applyBiggerTheme(element: Element): void;
    /**
     * @hidden
     */
    getPreviousRowData(): Object;
    /**
     * Hides the scrollbar placeholder of Grid content when grid content is not overflown.
     * @return {void}
     */
    hideScroll(): void;
    /**
     * Get row index by primary key or row data.
     * @param  {string} value - Defines the primary key value.
     * @param  {Object} value - Defines the row data.
     */
    getRowIndexByPrimaryKey(value: string | Object): number;
    /**
    * @hidden
    */
    grabColumnByFieldFromAllCols(field: string): Column;
    /**
    * @hidden
    */
    grabColumnByUidFromAllCols(uid: string): Column;
    private getUserAgent;
    /**
     * @hidden
     */
    tapEvent(e: base.TouchEventArgs): void;
}
//node_modules/@syncfusion/ej2-grids/src/grid/base/interface.d.ts
/**
 * Specifies grid interfaces.
 * @hidden
 */
export interface IGrid extends base.Component<HTMLElement> {
    currentViewData?: Object[];
    /**
     * 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;
    /**
     * 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;
    enableVirtualization: boolean;
    enableColumnVirtualization: boolean;
    /**
     * Specifies whether the sorting is enable or not.
     * @default null
     */
    allowSorting?: boolean;
    /**
     * Specifies whether the multi-sorting is enable or not.
     * @default null
     */
    allowMultiSorting?: boolean;
    /**
     * Specifies the sortSettings for Grid.
     * @default []
     */
    sortSettings?: SortSettingsModel;
    /**
     * 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 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 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 frozen columns for the grid content
     * @default 0
     */
    frozenColumns?: number;
    /**
     * Specifies whether the Searching for columns is enable or not.
     * @default true
     */
    allowSearching?: boolean;
    isEdit?: boolean;
    isJsComponent?: boolean;
    commonQuery?: data.Query;
    scrollPosition: ScrollPositionType;
    isLastCellPrimaryKey?: boolean;
    editModule?: Edit;
    selectionModule?: Selection;
    scrollModule?: Scroll;
    resizeModule: Resize;
    mergeCells?: {
        [key: string]: number;
    };
    checkAllRows?: CheckState;
    isCheckBoxSelection?: boolean;
    isPersistSelection?: boolean;
    localeObj?: base.L10n;
    prevPageMoving?: boolean;
    renderModule?: Render;
    isPreventScrollEvent?: boolean;
    hierarchyPrintMode?: HierarchyGridPrintMode;
    detailRowModule?: DetailRow;
    printModule?: Print;
    requestTypeAction?: string;
    expandedRows?: {
        [index: number]: IExpandedRow;
    };
    registeredTemplate?: Object;
    lockcolPositionCount?: number;
    isPrinting?: boolean;
    id?: string;
    isSelectedRowIndexUpdating?: boolean;
    pagerModule?: Page;
    invokedFromMedia?: boolean;
    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;
    getRowByIndex?(index: number): Element;
    getMovableRowByIndex?(index: number): Element;
    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;
    getColumnIndexesInView(): number[];
    setColumnIndexesInView(indexes?: number[]): void;
    getRows?(): Element[];
    getMovableRows?(): Element[];
    getCellFromIndex?(rowIndex: number, columnIndex: number): Element;
    getMovableCellFromIndex?(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;
    getFilterTemplate?(): Function;
    sortColumn?(columnName: string, sortDirection: SortDirection, isMultiSort?: boolean): void;
    removeSortColumn?(field: string): 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;
    updateDefaultCursor?(): void;
    getVisibleColumns?(): Column[];
    refreshHeader?(): void;
    getDataRows?(): Element[];
    getMovableDataRows?(): 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;
    getFrozenColumns(): number;
    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): 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;
    dataStateChange?: base.EmitType<DataStateChangeEventArgs>;
}
/** @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>;
    refreshUI?(): void;
    setVisible?(column?: Column[]): void;
    addEventListener?(): void;
    removeEventListener?(): void;
    getRowElements?(): Element[];
    getMovableRowElements?(): Element[];
    setSelection?(uid: string, set: boolean, clearAll: boolean): void;
    getRowByIndex?(index: number): Element;
    getVirtualRowIndex?(index: number): number;
    getMovableRowByIndex?(index: number): Element;
    getRowInfo?(target: Element): RowInfo;
    getState?(): Object;
    getMovableHeader?(): Element;
    getMovableContent?(): Element;
    destroyTemplate?(templateName: string[]): void;
}
/**
 * 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>;
}
/**
 * @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;
    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;
}
/**
 * @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 RowDeselectEventArgs {
    /** Defines the current selected/deselected row data.
     * @isGenericType true
     */
    data?: Object;
    /** Defines the selected/deselected row index. */
    rowIndex?: number;
    /** Defines the selected/deselected row. */
    row?: Element;
    /** Define the foreignKey row data associated with this column */
    foreignKeyData?: 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;
}
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;
    /** Define the foreignKey row data associated with this column */
    foreignKeyData?: Object;
}
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 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. */
    row?: Element;
    /** Defines the row height */
    rowHeight?: number;
}
export interface HeaderCellInfoEventArgs {
    /** Defines the cell. */
    cell?: Cell<Column>;
    /** Defines the cell element. */
    node?: Element;
}
export interface QueryCellInfoEventArgs {
    /** Defines the row data associated with this cell.
     * @isGenericType true
     */
    data?: Object;
    /** 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;
}
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;
    /** 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;
}
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 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;
}
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;
    };
}
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>;
}
export interface FilterSearchBeginEventArgs {
    /** Defines the current action. */
    requestType?: string;
    /** Defines the filter model. */
    filterModel?: CheckBoxFilter;
    /** 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;
}
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 Border {
    /**  Defines the color of border */
    color?: string;
    /**  Defines the line style of border */
    lineStyle?: BorderLineStyle;
}
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 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?: Border;
    /** Defines the format of the cell */
    numberFormat?: string;
    /** Defines the type of the cell */
    type?: string;
}
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;
    /** 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;
    /** 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';
}
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;
}
/**
 * @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;
}
/**
 * @hidden
 */
export interface InterSection {
    container?: HTMLElement;
    pageHeight?: number;
    debounceEvent?: boolean;
    axes?: string[];
}
/**
 * @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;
}
/**
 * @hidden
 */
export interface ResizeArgs extends ICancel {
    /** Event argument of point or touch action. */
    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;
    /** Defines the cell element. */
    cell?: Element;
    /** 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;
}
export interface DialogEditEventArgs extends EditEventArgs {
    /** Defines the dialog object */
    dialog?: popups.DialogModel;
}
/**
 * @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;
}
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;
    endEdit?(): void;
    closeEdit?(): 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;
    addCancelWhilePaging?(): void;
    args?: {
        requestType?: string;
    };
    isAdded?: boolean;
}
/**
 * @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;
}
/**
 * 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;
}
/** 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?: PredicateModel[];
    /** 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?: PredicateModel[];
    /** 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 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;
}
/**
 * @hidden
 */
export interface IFocus {
    matrix: Matrix;
    onKeyPress?: Function;
    onClick?: Function;
    onFocus?: Function;
    jump?: (action: string, current: number[]) => SwapInfo;
    getFocusInfo?: () => FocusInfo;
    getFocusable?: (element: HTMLElement) => HTMLElement;
    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;
}
/**
 * @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[];
}
/**
 * @hidden
 */
export interface KeyboardEventArgs extends KeyboardEvent {
    cancel?: boolean;
}
/**
 * @hidden
 */
export interface SwapInfo {
    swap?: boolean;
    toHeader?: boolean;
    toFrozen?: boolean;
    current?: number[];
}
export interface ContextMenuItemModel extends navigations.MenuItemModel {
    target?: string;
}
/**
 * @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;
    field?: string;
    displayName?: string;
    query?: data.Query;
    dataSource?: Object[] | data.DataManager;
    format?: string;
    filteredColumns?: Object[];
    sortedColumns?: string[];
    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?: Column;
    actualPredicate?: {
        [key: string]: PredicateModel[];
    };
    uid?: string;
    isForeignKey?: 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 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';
}
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. */
    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 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;
}
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 extends navigations.MenuEventArgs {
    column?: Column;
    rowInfo?: RowInfo;
}
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;
}
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;
}
//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 SortComparer = (x: ValueType, y: ValueType) => number;
export  type CustomSummaryType = (data: Object[] | Object, column: AggregateColumnModel) => Object;
export  type ReturnType = {
    result: Object[];
    count: number;
    aggregates?: 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;
};
//node_modules/@syncfusion/ej2-grids/src/grid/base/util.d.ts
/**
 * Function to check whether target object implement specific interface
 * @param  {Object} target
 * @param  {string} checkFor
 * @returns no
 * @hidden
 */
export  function doesImplementInterface(target: Object, checkFor: string): boolean;
/**
 * Function to get value from provided data
 * @param  {string} field
 * @param  {Object} data
 * @param  {IColumn} column
 * @hidden
 */
export  function valueAccessor(field: string, data: Object, column: ColumnModel): Object;
/**
 * The function used to update Dom using requestAnimationFrame.
 * @param  {Function} fn - Function that contains the actual action
 * @return {Promise<T>}
 * @hidden
 */
export  function getUpdateUsingRaf<T>(updateFunction: Function, callBack: Function): void;
/**
 * @hidden
 */
export  function updatecloneRow(grid: IGrid): void;
export  function getCollapsedRowsCount(val: Row<Column>, grid: IGrid): number;
/**
 * @hidden
 */
export  function recursive(row: Object[]): void;
/**
 * @hidden
 */
export  function iterateArrayOrObject<T, U>(collection: U[], predicate: (item: Object, index: number) => T): T[];
/** @hidden */
export  function iterateExtend(array: Object[]): Object[];
/** @hidden */
export  function templateCompiler(template: string): Function;
/** @hidden */
export  function setStyleAndAttributes(node: Element, customAttributes: {
    [x: string]: Object;
}): void;
/** @hidden */
export  function extend(copied: Object, first: Object, second?: Object, exclude?: string[]): Object;
/** @hidden */
export  function setColumnIndex(columnModel: Column[], ind?: number): number;
/** @hidden */
export  function prepareColumns(columns: Column[] | string[] | ColumnModel[], autoWidth?: boolean): Column[];
/** @hidden */
export  function setCssInGridPopUp(popUp: HTMLElement, e: MouseEvent | TouchEvent, className: string): void;
/** @hidden */
export  function getActualProperties<T>(obj: T): T;
/** @hidden */
export  function parentsUntil(elem: Element, selector: string, isID?: boolean): Element;
/** @hidden */
export  function getElementIndex(element: Element, elements: Element[]): number;
/** @hidden */
export  function inArray(value: Object, collection: Object[]): number;
/** @hidden */
export  function getActualPropFromColl(collection: Object[]): Object[];
/** @hidden */
export  function removeElement(target: Element, selector: string): void;
/** @hidden */
export  function getPosition(e: MouseEvent | TouchEvent): IPosition;
/** @hidden */
export  function getUid(prefix: string): string;
/** @hidden */
export  function appendChildren(elem: Element | DocumentFragment, children: Element[] | NodeList): Element;
/** @hidden */
export  function parents(elem: Element, selector: string, isID?: boolean): Element[];
/** @hidden */
export  function calculateAggregate(type: AggregateType | string, data: Object, column?: AggregateColumnModel, context?: Object): Object;
/** @hidden */
export  function getScrollBarWidth(): number;
/** @hidden */
export  function getRowHeight(element?: HTMLElement): number;
/** @hidden */
export  function isComplexField(field: string): boolean;
/** @hidden */
export  function getComplexFieldID(field?: string): string;
/** @hidden */
export  function setComplexFieldID(field?: string): string;
/** @hidden */
export  function isEditable(col: Column, type: string, elem: Element): boolean;
/** @hidden */
export  function isActionPrevent(inst: IGrid): boolean;
/** @hidden */
export  function wrap(elem: any, action: boolean): void;
/** @hidden */
export  function setFormatter(serviceLocator?: ServiceLocator, column?: Column): void;
/** @hidden */
export  function addRemoveActiveClasses(cells: Element[], add: boolean, ...args: string[]): void;
/** @hidden */
export  function distinctStringValues(result: string[]): string[];
/** @hidden */
export  function getFilterMenuPostion(target: Element, dialogObj: popups.Dialog, grid: IGrid): void;
/** @hidden */
export  function getZIndexCalcualtion(args: {
    popup: popups.Popup;
}, dialogObj: popups.Dialog): void;
/** @hidden */
export  function toogleCheckbox(elem: Element): void;
/** @hidden */
export  function createCboxWithWrap(uid: string, elem: Element, className?: string): Element;
/** @hidden */
export  function removeAddCboxClasses(elem: Element, checked: boolean): void;
/**
 * Refresh the Row model's foreign data.
 * @param row - Grid Row model object.
 * @param columns - Foreign columns array.
 * @param data - Updated Row data.
 * @hidden
 */
export  function refreshForeignData(row: IRow<Column>, columns: Column[], data: Object): void;
/**
 * Get the foreign data for the corresponding cell value.
 * @param column - Foreign Key column
 * @param data - Row data.
 * @param lValue - cell value.
 * @param foreignData - foreign data source.
 * @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 foreignKeyValue - Defines ForeignKeyValue.
 * @param columns - Array of column object.
 * @hidden
 */
export  function getColumnByForeignKeyValue(foreignKeyValue: string, columns: Column[]): Column;
/**
 * @hidden
 * @param filterObject - Defines predicate model object
 */
export  function getDatePredicate(filterObject: PredicateModel, type?: string): data.Predicate;
/**
 * @hidden
 */
export  function renderMovable(ele: Element, frzCols: number): Element;
/**
 * @hidden
 */
export  function isGroupAdaptive(grid: IGrid): boolean;
/**
 * @hidden
 */
export  function getObject(field?: string, object?: Object): any;
/**
 * @hidden
 */
export  function getCustomDateFormat(format: string | Object, colType: string): string;
/**
 * @hidden
 */
export  function getExpandedState(gObj: IGrid, hierarchyPrintMode: HierarchyGridPrintMode): {
    [index: number]: IExpandedRow;
};
/**
 * @hidden
 */
export  function getPrintGridModel(gObj: IGrid, hierarchyPrintMode?: HierarchyGridPrintMode): IGrid;
/**
 * @hidden
 */
export  function extendObjWithFn(copied: Object, first: Object, second?: Object, deep?: boolean): Object;
/**
 * @hidden
 */
export  function measureColumnDepth(column: Column[]): number;
/**
 * @hidden
 */
export  function checkDepth(col: Column, index: number): number;
/**
 * @hidden
 */
export  function refreshFilteredColsUid(gObj: IGrid, filteredCols: PredicateModel[]): void;
/** @hidden */
export  namespace Global {
    let timer: Object;
}
//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
/**
 * Base export
 */
//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/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;
    /**
     * @hidden
     */
    setFormatter(cultureName: string): void;
    /**
     * @hidden
     */
    getFormatter(): Function;
    /**
     * @hidden
     */
    setTemplate(helper?: Object): void;
    /**
     * @hidden
     */
    getTemplate(type: CellType): {
        fn: Function;
        property: string;
    };
    /**
     * @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;
    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-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.
     * @blazorDefaultValue none
     */
    type?: CommandButtonType;
    /**
     * Define the button model
     */
    buttonOption?: CommandButtonOptions;
}
//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 false
     */
    disableHtmlEncode: boolean;
    /**
     * Defines the data type of the column.
     * @default null
     * @blazorType ColumnType
     */
    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/#number-formatting/)
     * and [`date`](../common/internationalization/#number-formatting/) formats.
     * @default null
     * @aspType string
     * @blazorType 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](../../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;
    /**
     * 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;
    /**
     * 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/#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'
     * @blazorType EditType
     * @blazorDefaultValue EditType.DefaultEdit
     */
    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
     * @blazorType 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;
    constructor(options: ColumnModel);
    private formatFn;
    private parserFn;
    private templateFn;
    private fltrTemplateFn;
    private headerTemplateFn;
    private editTemplateFn;
    private filterTemplateFn;
    private sortDirection;
    /** @hidden */
    getEditTemplate: Function;
    /** @hidden */
    getFilterTemplate: Function;
    /** @hidden */
    getSortDirection(): string;
    /** @hidden */
    setSortDirection(direction: string): 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;
    /**
     * @hidden
     * It defines the column is foreign key column or not.
     */
    isForeignColumn(): boolean;
    /** @hidden */
    getFormatter(): Function;
    /** @hidden */
    setFormatter(value: Function): void;
    /** @hidden */
    getParser(): Function;
    /** @hidden */
    setParser(value: Function): void;
    /** @hidden */
    getColumnTemplate(): Function;
    /** @hidden */
    getHeaderTemplate(): Function;
    /** @hidden */
    getFilterItemTemplate(): Function;
    /** @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
     * @blazorDefaultValueIgnore
     * @default null
     */
    headerTextAlign?: TextAlign;
    /**
     * If `disableHtmlEncode` is set to true, it encodes the HTML of the header and content cells.
     * @default false
     */
    disableHtmlEncode?: boolean;
    /**
     * Defines the data type of the column.
     * @default null
     * @blazorType ColumnType
     */
    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/#number-formatting/)
     * and [`date`](../common/internationalization/#number-formatting/) formats.
     * @default null
     * @aspType string
     * @blazorType 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;
    /**
     * 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;
    /**
     * 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;
    /**
     * 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'
     * @blazorType EditType
     * @blazorDefaultValue EditType.DefaultEdit
     */
    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
     * @blazorType 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 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;
}
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;
}
/**
 * Define options for custom command buttons.
 */
export  class CommandColumnModel {
    /**
     * Define the command Button tooltip.
     */
    title: string;
    /**
     * Define the command Button type.
     * @blazorDefaultValue none
     */
    type: CommandButtonType;
    /**
     * Define the button model
     */
    buttonOption: CommandButtonOptions;
}
//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> {
    uid: string;
    data: Object;
    tIndex: number;
    isCaptionRow: boolean;
    changes: Object;
    isDirty: boolean;
    aggregatesCount: number;
    edit: string;
    isSelected: 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;
    foreignKeyData: Object;
    isDetailRow: boolean;
    childGrid: IGrid;
    constructor(options: {
        [x: string]: Object;
    });
    clone(): Row<T>;
}
//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 implements IEditCell {
    private parentObj;
    private object;
    private column;
    constructor(parent?: IGrid);
    create(args: {
        column: Column;
        values: string;
    }): Element;
    write(args: {
        rowData: Object;
        element: Element;
        column: Column;
        rowElement: HTMLElement;
        requestType: string;
    }): void;
    read(element: Element): string;
    private selectedValues;
    destroy(): void;
}
//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
     */
    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 implements IEditCell {
    private parent;
    private obj;
    private editRow;
    private editType;
    private activeClasses;
    constructor(parent?: IGrid);
    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 checkBoxChange;
    destroy(): void;
}
//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;
    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;
}
//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> {
    element: HTMLElement;
    /**
     * Function to render the cell content based on Column object.
     * @param  {Cell} cell
     * @param  {Object} data
     */
    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
     * @param  {Object} data
     */
    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
     */
    getGui(): string | Element;
    /**
     * Function to format the cell value.
     * @param  {Column} column
     * @param  {Object} value
     * @param  {Object} data
     */
    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
     * @param  {Object} value
     * @param  {Object} data
     */
    invokeFormatter(column: Column, value: Object, data: Object): Object;
    /**
     * Function to render the cell content based on Column object.
     * @param  {Column} column
     * @param  {Object} data
     * @param  {{[x:string]:Object}} attributes?
     * @param  {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  {Column} column
     * @param  {Object} data
     * @param  {{[x:string]:Object}} attributes?
     * @param  {Element}
     */
    refreshTD(td: Element, cell: Cell<Column>, data: Object, attributes?: {
        [x: string]: Object;
    }): void;
    private refreshCell;
    /**
     * Function to specifies how the result content to be placed in the cell.
     * @param  {Element} node
     * @param  {string|Element} innerHtml
     * @returns Element
     */
    appendHtml(node: Element, innerHtml: string | Element, property?: string): Element;
    /**
     * @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/combobox-edit-cell.d.ts
/**
 * `ComboBoxEditCell` is used to handle ComboBoxEdit cell type editing.
 * @hidden
 */
export  class ComboboxEditCell implements IEditCell {
    private parent;
    private obj;
    private column;
    constructor(parentObject?: IGrid);
    create(args: {
        column: Column;
        value: string;
    }): Element;
    write(args: {
        rowData: Object;
        element: Element;
        column: Column;
        row: HTMLElement;
        requestType: string;
    }): void;
    read(inputEle: Element): string;
    private finalValue;
    destroy(): void;
}
//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;
    element: HTMLElement;
    constructor(parent: IGrid, locator?: ServiceLocator);
    /**
     * Function to render the cell content based on Column object.
     * @param  {Column} column
     * @param  {Object} data
     * @param  {{[x:string]:Object}} attributes?
     * @param  {Element}
     */
    render(cell: Cell<Column>, data: Object, attributes?: {
        [x: string]: Object;
    }): 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;
    private rows;
    private freezeRows;
    private movableRows;
    private rowElements;
    private freezeRowElements;
    private index;
    colgroup: Element;
    private isLoaded;
    private tbody;
    private drop;
    private args;
    private rafCallback;
    protected parent: IGrid;
    private serviceLocator;
    private ariaService;
    protected generator: IModelGenerator<Column>;
    /**
     * Constructor for content renderer module
     */
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    /**
     * The function is used to render grid content div
     */
    renderPanel(): void;
    /**
     * The function is used to render grid content table
     */
    renderTable(): void;
    /**
     * The function is used to create content table elements
     * @return {Element}
     * @hidden
     */
    createContentTable(id: String): Element;
    private splitRows;
    /**
     * Refresh the content of the Grid.
     * @return {void}
     */
    refreshContentRows(args?: NotifyArgs): void;
    appendContent(tbody: Element, frag: DocumentFragment, args: NotifyArgs): void;
    /**
     * Get the content div element of grid
     * @return {Element}
     */
    getPanel(): Element;
    /**
     * Set the content div element of grid
     * @param  {Element} panel
     */
    setPanel(panel: Element): void;
    /**
     * Get the content table element of grid
     * @return {Element}
     */
    getTable(): Element;
    /**
     * Set the content table element of grid
     * @param  {Element} table
     */
    setTable(table: Element): void;
    /**
     * Get the Row collection in the Grid.
     * @returns {Row[] | HTMLCollectionOf<HTMLTableRowElement>}
     */
    getRows(): Row<Column>[] | HTMLCollectionOf<HTMLTableRowElement>;
    /**
     * Get the Movable Row collection in the Freeze pane Grid.
     * @returns {Row[] | HTMLCollectionOf<HTMLTableRowElement>}
     */
    getMovableRows(): Row<Column>[] | HTMLCollectionOf<HTMLTableRowElement>;
    /**
     * Get the content table data row elements
     * @return {Element}
     */
    getRowElements(): Element[];
    /**
     * Get the Freeze pane movable content table data row elements
     * @return {Element}
     */
    getMovableRowElements(): Element[];
    /**
     * Get the content table data row elements
     * @return {Element}
     */
    setRowElements(elements: Element[]): void;
    /**
     * Get the header colgroup element
     * @returns {Element}
     */
    getColGroup(): Element;
    /**
     * Set the header colgroup element
     * @param {Element} colgroup
     * @returns {Element}
     */
    setColGroup(colGroup: Element): Element;
    /**
     * Function to hide content table column based on visible property
     * @param  {Column[]} columns?
     */
    setVisible(columns?: Column[]): void;
    /**
     * @hidden
     */
    setDisplayNone(tr: Object, idx: number, displayVal: string, rows: Row<Column>[]): void;
    private colGroupRefresh;
    private initializeContentDrop;
    private canSkip;
    getModelGenerator(): IModelGenerator<Column>;
    renderEmpty(tbody: HTMLElement): void;
    setSelection(uid: string, set: boolean, clearAll?: boolean): void;
    getRowByIndex(index: number): Element;
    getVirtualRowIndex(index: number): number;
    getMovableRowByIndex(index: number): Element;
    private enableAfterRender;
    setRowObjects(rows: Row<Column>[]): void;
}
//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;
    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;
}
//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 implements IEditCell {
    private parent;
    private obj;
    constructor(parent?: IGrid);
    create(args: {
        column: Column;
        value: string;
        type: string;
    }): Element;
    read(element: Element): string | Date;
    write(args: {
        rowData: Object;
        element: Element;
        column: Column;
        type: string;
        row: HTMLElement;
        requestType: string;
    }): void;
    destroy(): 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 implements IEditCell {
    private parent;
    constructor(parent?: IGrid);
    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
     */
    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
     * @param  {Object} data
     */
    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
     */
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    private setLocaleObj;
    addNew(elements: Element[], args: {
        primaryKeyValue?: string[];
    }): void;
    update(elements: Element[], args: {
        primaryKeyValue?: string[];
    }): void;
    private createDialog;
    private btnClick;
    private dialogClose;
    private destroy;
    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 implements IEditCell {
    private parent;
    private obj;
    private column;
    private flag;
    constructor(parent?: IGrid);
    create(args: {
        column: Column;
        value: string;
    }): Element;
    write(args: {
        rowData: Object;
        element: Element;
        column: Column;
        row: HTMLElement;
        requestType: string;
    }): void;
    read(element: Element): string;
    private ddFiltering;
    private ddActionComplete;
    private dropDownOpen;
    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
     */
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    addNew(args: Object): void;
    update(args: Object): void;
    private convertWidget;
    private focusElement;
    private getEditElements;
    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
     * @param  {Object} data
     * @param  {{ [x: string]: string }} attr
     * @param {boolean} isExpand
     */
    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;
    /**
     * Function to return the wrapper for the TH content.
     * @returns string
     */
    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
     * @param  {string|Element} innerHTML
     * @returns Element
     */
    appendHtml(node: Element, innerHtml: string | Element): Element;
}
//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;
    constructor(parent?: IGrid, customFltrOperators?: Object, serviceLocator?: ServiceLocator, filterSettings?: FilterSettings);
    /**
     * @hidden
     */
    renderOperatorUI(dlgConetntEle: Element, target: Element, column: Column, dlgObj: popups.Dialog): void;
    private dropDownOpen;
    private dropSelectedVal;
    /**
     * @hidden
     */
    getFlOperator(): string;
}
//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 filterSettings;
    private customFilterOperators;
    private dropOptr;
    private flMuiObj;
    private col;
    private isDialogOpen;
    private colTypes;
    constructor(parent?: IGrid, filterSettings?: FilterSettings, serviceLocator?: ServiceLocator, customFltrOperators?: Object, fltrObj?: Filter);
    private openDialog;
    private closeDialog;
    private renderDlgContent;
    private dialogCreated;
    private renderFilterUI;
    private renderOperatorUI;
    private renderFlValueUI;
    private writeMethod;
    private filterBtnClick;
    private clearBtnClick;
    destroy(): void;
}
//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 frozenContent;
    private movableContent;
    constructor(gridModule?: IGrid, serviceLocator?: ServiceLocator);
    /**
     * The function is used to render grid footer div
     */
    renderPanel(): void;
    /**
     * The function is used to render grid footer table
     */
    renderTable(): void;
    private renderSummaryContent;
    refresh(e?: {
        aggregates?: Object;
    }): void;
    refreshCol(): void;
    private onWidthChange;
    private onScroll;
    getColFromIndex(index?: number): HTMLElement;
    private columnVisibilityChanged;
    addEventListener(): void;
    removeEventListener(): void;
    private updateFooterTableWidth;
    refreshFooterRenderer(editedData: Object[]): void;
    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;
    constructor(parent?: IGrid, locator?: ServiceLocator);
    renderPanel(): void;
    renderEmpty(tbody: HTMLElement): void;
    private setFrozenContent;
    private setMovableContent;
    getFrozenContent(): Element;
    getMovableContent(): Element;
    getModelGenerator(): IModelGenerator<Column>;
    renderTable(): void;
}
export  class FreezeRender extends HeaderRender implements IRenderer {
    private frozenHeader;
    private movableHeader;
    constructor(parent?: IGrid, locator?: ServiceLocator);
    addEventListener(): void;
    removeEventListener(): void;
    renderTable(): void;
    renderPanel(): void;
    refreshUI(): void;
    private rfshMovable;
    private addMovableFirstCls;
    private refreshFreeze;
    private enableAfterRender;
    private updateResizeHandler;
    private setWrapHeight;
    private setFrozenHeight;
    private refreshStackedHdrHgt;
    private getRowSpan;
    private updateStackedHdrRowHgt;
    private setFrozenHeader;
    private setMovableHeader;
    getFrozenHeader(): Element;
    getMovableHeader(): Element;
    private updateColgroup;
}
//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
     */
    getGui(): string | Element;
    /**
     * Function to render the cell content based on Column object.
     * @param  {Column} column
     * @param  {Object} data
     * @param  {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
     * @param  {Element} node
     */
    refresh(cell: Cell<Column>, node: Element): Element;
    private clean;
    private prepareHeader;
    private extendPrepareHeader;
    /**
     * Function to specifies how the result content to be placed in the cell.
     * @param  {Element} node
     * @param  {string|Element} innerHtml
     * @returns 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
     * @param  {Object} data
     */
    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;
    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
     */
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator);
    /**
     * The function is used to render grid header div
     */
    renderPanel(): void;
    /**
     * The function is used to render grid header table
     */
    renderTable(): void;
    /**
     * Get the header content div element of grid
     * @return {Element}
     */
    getPanel(): Element;
    /**
     * Set the header content div element of grid
     * @param  {Element} panel
     */
    setPanel(panel: Element): void;
    /**
     * Get the header table element of grid
     * @return {Element}
     */
    getTable(): Element;
    /**
     * Set the header table element of grid
     * @param  {Element} table
     */
    setTable(table: Element): void;
    /**
     * Get the header colgroup element
     * @returns {Element}
     */
    getColGroup(): Element;
    /**
     * Set the header colgroup element
     * @param {Element} colgroup
     * @returns {Element}
     */
    setColGroup(colGroup: Element): Element;
    /**
     * Get the header row element collection.
     * @return {Element[]}
     */
    getRows(): Row<Column>[] | HTMLCollectionOf<HTMLTableRowElement>;
    /**
     * The function is used to create header table elements
     * @return {Element}
     * @hidden
     */
    private createHeaderTable;
    /**
     * @hidden
     */
    createTable(): Element;
    private createHeaderContent;
    private updateColGroup;
    private ensureColumns;
    private getHeaderCells;
    private appendCells;
    private getStackedLockColsCount;
    private refreshFrozenHdr;
    private getColSpan;
    private generateRow;
    private generateCell;
    /**
     * Function to hide header table column based on visible property
     * @param  {Column[]} columns?
     */
    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;
}
//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
     * @param  {Object} data
     */
    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
     */
    constructor(parent?: IGrid);
    addNew(elements: Object, args: {
        row?: Element;
        rowData?: Object;
    }): void;
    private renderMovableform;
    private updateFreezeEdit;
    private getFreezeRow;
    update(elements: Object, args: {
        row?: Element;
        rowData?: Object;
    }): void;
    private refreshFreezeEdit;
    private updateFrozenCont;
    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 implements IEditCell {
    private parent;
    private obj;
    private column;
    constructor(parentInstance?: IGrid);
    create(args: {
        column: Column;
        value: string;
    }): Element;
    write(args: {
        rowData: Object;
        element: Element;
        column: Column;
        row: HTMLElement;
        requestType: string;
    }): void;
    read(element: Element): string;
    destroy(): 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 implements IEditCell {
    private parent;
    private obj;
    private column;
    constructor(parentObj?: IGrid);
    create(args: {
        column: Column;
        value: string;
    }): Element;
    read(element: Element): string;
    write(args: {
        rowData: Object;
        element: Element;
        column: Column;
        row: HTMLElement;
        requestType: string;
    }): void;
    destroy(): 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);
    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;
}
//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);
    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;
    /**
     * Constructor for render module
     */
    constructor(parent?: IGrid, locator?: ServiceLocator);
    /**
     * To initialize grid header, content and footer rendering
     */
    render(): void;
    /**
     * Refresh the entire Grid.
     * @return {void}
     */
    refresh(e?: NotifyArgs): void;
    private resetTemplates;
    private refreshComplete;
    /**
     * The function is used to refresh the dataManager
     * @return {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.
     * @return {void}
     * @hidden
     */
    renderEmptyRow(): void;
    emptyRow(isTrigger?: boolean): void;
    private dynamicColumnChange;
    private updateColumnType;
    /** @hidden */
    dataManagerSuccess(e: ReturnType, args?: NotifyArgs): void;
    private dataManagerFailure;
    private updatesOnInitialRender;
    private buildColumns;
    private instantiateRenderer;
    private addEventListener;
    /** @hidden */
    validateGroupRecords(e: ReturnType): Promise<Object>;
    private getPredicate;
    private updateGroupInfo;
}
//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
     */
    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
     * @param  {Object} data
     */
    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  {Column[]} columns
     * @param  {Object} data?
     * @param  {{[x:string]:Object}} attributes?
     * @param  {string} rowTemplate?
     */
    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  {Column[]} columns
     * @param  {Object} data?
     * @param  {{[x:string]:Object}} attributes?
     * @param  {string} rowTemplate?
     */
    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
     * @param  {{[x:string]:Object}} attr
     */
    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  {Column} column
     * @param  {Object} data
     * @param  {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;
    constructor(parent?: IGrid, serviceLocator?: ServiceLocator, filterSettings?: FilterSettings);
    create(args: IFilterCreate): void;
    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;
}
//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 implements IEditCell {
    private parent;
    private obj;
    constructor(grid?: IGrid);
    create(args: {
        column: Column;
        value: string;
        type: string;
    }): Element;
    read(element: Element): Date | string;
    write(args: {
        rowData: Object;
        element: Element;
        column: Column;
        type: string;
        row: HTMLElement;
        requestType: string;
    }): void;
    destroy(): 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 implements IEditCell {
    private parent;
    private obj;
    private editRow;
    private editType;
    private activeClasses;
    constructor(parentObject?: IGrid);
    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;
    destroy(): void;
}
//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;
    private observer;
    private prevInfo;
    private currentInfo;
    private vgenerator;
    private header;
    private locator;
    private preventEvent;
    private actions;
    private content;
    private offsets;
    private tmpOffsets;
    private virtualEle;
    private offsetKeys;
    private isFocused;
    private isSelection;
    private selectedRowIndex;
    private isBottom;
    constructor(parent: IGrid, locator?: ServiceLocator);
    renderTable(): void;
    renderEmpty(tbody: HTMLElement): void;
    private scrollListener;
    private block;
    private getInfoFromView;
    ensureBlocks(info: VirtualInfo): number[];
    appendContent(target: HTMLElement, newChild: DocumentFragment, e: NotifyArgs): void;
    protected onDataReady(e?: NotifyArgs): void;
    private setVirtualHeight;
    private getPageFromTop;
    private getTranslateY;
    getOffset(block: number): number;
    private onEntered;
    private dataBound;
    eventListener(action: string): void;
    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;
    getVirtualRowIndex(index: number): number;
    private refreshOffsets;
    refreshVirtualElement(): void;
    setVisible(columns?: Column[]): void;
    private selectVirtualRow;
}
/**
 * @hidden
 */
export  class VirtualHeaderRenderer extends HeaderRender implements IRenderer {
    virtualEle: VirtualElementHandler;
    private gen;
    constructor(parent: IGrid, locator: ServiceLocator);
    renderTable(): void;
    appendContent(table: Element): void;
    refreshUI(): void;
    setVisible(columns?: Column[]): void;
    private setDisplayNone;
}
/**
 * @hidden
 */
export  class VirtualElementHandler {
    wrapper: HTMLElement;
    placeholder: HTMLElement;
    content: HTMLElement;
    table: HTMLElement;
    renderWrapper(height?: number): void;
    renderPlaceHolder(position?: string): void;
    adjustTable(xValue: number, yValue: number): void;
    setWrapperWidth(width: string, full?: boolean): void;
    setVirtualHeight(height?: number, width?: string): void;
}
//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;
    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;
}
//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;
    private forget;
    private skipFocus;
    private focusByClick;
    private passiveHandler;
    private prevIndexes;
    private focusedColumnUid;
    private refMatrix;
    constructor(parent: IGrid);
    protected focusCheck(e: Event): void;
    protected onFocus(): void;
    protected passiveFocus(e: FocusEvent): void;
    protected onBlur(e?: FocusEvent): void;
    onClick(e: Event | {
        target: Element;
    }, force?: boolean): void;
    protected onKeyPress(e: base.KeyboardEventArgs): void;
    private skipOn;
    getFocusedElement(): HTMLElement;
    getContent(): IFocus;
    setActive(content: boolean, isFrozen?: boolean): void;
    setFocusedElement(element: HTMLElement): void;
    focus(e?: base.KeyboardEventArgs): void;
    protected removeFocus(e?: FocusEvent): void;
    protected addFocus(info: FocusInfo, e?: base.KeyboardEventArgs): void;
    protected refreshMatrix(content?: boolean): Function;
    addEventListener(): void;
    removeEventListener(): void;
    destroy(): void;
    restoreFocus(): 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[][];
    inValid(value: number): boolean;
}
/**
 * @hidden
 */
export  class ContentFocus implements IFocus {
    matrix: Matrix;
    parent: IGrid;
    keyActions: {
        [x: string]: number[];
    };
    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;
    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;
}
/**
 * @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;
    getInfo(e?: base.KeyboardEventArgs): FocusedContainer;
    validator(): Function;
    protected shouldFocusChange(e: base.KeyboardEventArgs): boolean;
}
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[];
}
/** @hidden */
export  class SearchBox {
    searchBox: HTMLElement;
    constructor(searchBox: HTMLElement);
    protected searchFocus(args: Event): void;
    protected searchBlur(args: Event): void;
    wireEvent(): void;
    unWireEvent(): void;
}
//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;
    private isFrzLoad;
    constructor(parent: IGrid);
    generateRows(data: Object, notifyArgs?: NotifyArgs): 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;
    private index;
    private summaryModelGen;
    private captionModelGen;
    constructor(parent?: IGrid);
    generateRows(data: {
        length: number;
    }, args?: {
        startIndex?: number;
    }): Row<Column>[];
    private getGroupedRecords;
    private getCaptionRowCells;
    private generateCaptionRow;
    private getForeignKeyData;
    private generateDataRows;
    private generateIndentCell;
    refreshRows(input?: Row<Column>[]): Row<Column>[];
}
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 element;
    private fromWheel;
    private touchMove;
    private options;
    sentinelInfo: SentinelInfo;
    constructor(element: HTMLElement, options: InterSection);
    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
     */
    constructor(parent?: IGrid);
    generateRows(data: Object, args?: {
        startIndex?: number;
    }): Row<Column>[];
    protected ensureColumns(): Cell<Column>[];
    protected generateRow(data: Object, index: number, cssClass?: string, indent?: number, pid?: number, tIndex?: number): Row<Column>;
    protected refreshForeignKeyRow(options: IRow<Column>): void;
    protected generateCells(options: IRow<Column>): Cell<Column>[];
    protected generateCell(column: Column, rowId?: string, cellType?: CellType, colSpan?: number, oIndex?: number, foreignKeyData?: Object): Cell<Column>;
    refreshRows(input?: Row<Column>[]): Row<Column>[];
}
//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;
}
//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
     */
    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): Row<AggregateColumnModel>[];
    getGeneratedRow(summaryRow: AggregateRowModel, data: Object, raw: number, start: number, end: number): Row<AggregateColumnModel>;
    getGeneratedCell(column: Column, summaryRow: AggregateRowModel, cellType?: CellType, indent?: string, isDetailGridAlone?: boolean): Cell<AggregateColumnModel>;
    private buildSummaryData;
    protected getIndentByLevel(data?: number): 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>[];
    };
    data: {
        [x: number]: Object[];
    };
    groups: {
        [x: number]: Object;
    };
    constructor(parent: IGrid);
    generateRows(data: Object[], notifyArgs?: NotifyArgs): Row<Column>[];
    getBlockIndexes(page: number): number[];
    getPage(block: number): number;
    isBlockAvailable(value: number): boolean;
    getData(): VirtualInfo;
    private getStartIndex;
    getColumnIndexes(content?: HTMLElement): number[];
    checkAndResetCache(action: string): boolean;
    refreshColOffsets(): void;
    updateGroupRow(current: Row<Column>[], block: number): Row<Column>[];
    private iterateGroup;
    getRows(): Row<Column>[];
}
//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;
    getSiblingsHeight(element: HTMLElement): number;
    private getHeightFromDirection;
    isWidthUndefined(): boolean;
    getWidth(column: Column): string | number;
    getTableWidth(columns: Column[]): number;
    private calcMovableOrFreezeColWidth;
    private setWidthToFrozenTable;
    private setWidthToMovableTable;
    private setWidthToFrozenEditTable;
    private setWidthToMovableEditTable;
    setWidthToTable(): void;
}
//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?
     * @returns defaultType
     * @hidden
     */
    constructor(pagerModule?: Pager);
    /**
     * For internal use only - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * The function is used to render pager externalMessage
     * @hidden
     */
    render(): void;
    /**
     * Refreshes the external message of Pager.
     */
    refresh(): void;
    /**
     * Hides the external message of Pager.
     */
    hideMessage(): void;
    /**
     * Shows the external message of the Pager.
     */
    showMessage(): void;
    /**
     * To destroy the PagerMessage
     * @method destroy
     * @return {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
     * @hidden
     */
    constructor(pagerModule?: Pager);
    /**
     * The function is used to render numericContainer
     * @hidden
     */
    render(): void;
    /**
     * Refreshes the numeric container of Pager.
     */
    refresh(): void;
    /**
     * The function is used to refresh refreshNumericLinks
     * @hidden
     */
    refreshNumericLinks(): void;
    /**
     * Binding events to the element while component creation
     * @hidden
     */
    wireEvents(): void;
    /**
     * Unbinding events from the element while component destroy
     * @hidden
     */
    unwireEvents(): void;
    /**
     * To destroy the PagerMessage
     * @method destroy
     * @return {void}
     * @hidden
     */
    destroy(): void;
    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
     * @hidden
     */
    constructor(pagerModule?: Pager);
    /**
     * For internal use only - Get the module name.
     * @private
     * @hidden
     */
    protected getModuleName(): string;
    /**
     * The function is used to render pager dropdown
     * @hidden
     */
    render(): void;
    /**
     * For internal use only - Get the pagesize.
     * @private
     * @hidden
     */
    private onChange;
    private beforeValueChange;
    private convertValue;
    setDropDownValue(prop: string, value: string | number | Object | boolean): void;
    addEventListener(): void;
    removeEventListener(): void;
    /**
     * To destroy the Pagerdropdown
     * @method destroy
     * @return {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
     * @hidden
     */
    constructor(pagerModule?: Pager);
    /**
     * The function is used to render pager message
     * @hidden
     */
    render(): void;
    /**
     * Refreshes the pager information.
     */
    refresh(): void;
    /**
     * Hides the Pager information.
     */
    hideMessage(): void;
    /**
     * Shows the Pager information.
     */
    showMessage(): void;
    /**
     * To destroy the PagerMessage
     * @method destroy
     * @return {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>;
    /**
     * 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;
}
/**
 * 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;
    private templateFn;
    /*** @hidden */
    previousPageNo: number;
    private defaultConstants;
    /*** @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>;
    /**
     * Triggers after pageSize is selected in DropDownList.
     * @default null
     */
    dropDownChanged: base.EmitType<Object>;
    /**
     * Triggers when Pager is created.
     * @default null
     */
    created: base.EmitType<Object>;
    /**
     * Constructor for creating the component.
     * @hidden
     */
    constructor(options?: PagerModel, element?: string | HTMLElement);
    /**
     * To provide the array of modules needed for component rendering
     * @hidden
     */
    protected requiredModules(): base.ModuleDeclaration[];
    /**
     * Initialize the event handler
     * @hidden
     */
    protected preRender(): void;
    /**
     * To Initialize the component rendering
     */
    protected render(): void;
    /**
     * Get the properties to be maintained in the persisted state.
     * @hidden
     */
    getPersistData(): string;
    /**
     * To destroy the Pager component.
     * @method destroy
     * @return {void}
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * Called internally if any of the property value changed.
     * @hidden
     */
    onPropertyChanged(newProp: PagerModel, oldProp: PagerModel): void;
    /**
     * Gets the localized label by locale keyword.
     * @param  {string} key
     * @return {string}
     */
    getLocalizedLabel(key: string): string;
    /**
     * Navigate to target page by given number.
     * @param  {number} pageNo - Defines page number.
     * @return {void}
     */
    goToPage(pageNo: number): void;
    /**
     * @hidden
     */
    setPageSize(pageSize: number): void;
    private checkpagesizes;
    private checkGoToPage;
    private currentPageChanged;
    private pagerTemplate;
    /** @hidden */
    updateTotalPages(): void;
    /** @hidden */
    getPagerTemplate(): Function;
    private compile;
    /**
     * Refreshes page count, pager information and external message.
     * @return {void}
     */
    refresh(): void;
    private updateRTL;
    private initLocalization;
    private updateQueryString;
    private getUpdatedURL;
    private renderFirstPrevDivForDevice;
    private renderNextLastDivForDevice;
    private addAriaLabel;
}
 }
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.
     * @return {void}
     * @private
     */
    private createAxisBorderElement;
    private drawMultiLevels;
    /**
     * render x axis multi level labels
     * @private
     * @return {void}
     */
    renderXAxisMultiLevelLabels(axis: Axis, parent: Element, rect: Rect): void;
    /**
     * render x axis multi level labels border
     * @private
     * @return {void}
     */
    private renderXAxisLabelBorder;
    /**
     * render y axis multi level labels
     * @private
     * @return {void}
     */
    renderYAxisMultiLevelLabels(axis: Axis, parent: Element, rect: Rect): void;
    /**
     * render x axis multi level labels border
     * @private
     * @return {void}
     */
    private renderYAxisLabelBorder;
    /**
     * create borer element
     * @return {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
     * @blazorType 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;
    /**
     * 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
     * @blazorType 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;
    /**
     * Border of the axis labels.
     */
    border: AxisLabelBorderModel;
    /**
     * Specifies the multi level labels collection for the axis
     */
    multiLevelLabels: MultiLevelLabelsModel[];
    /** @private */
    orientation: Orientation;
    /** @private */
    rect: Rect;
    /** @private */
    nearSizes: number[];
    /** @private */
    farSizes: number[];
    /** @private */
    maxLabelSize: Size;
    /** @private */
    titleSize: Size;
    /** @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;
}
//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.
     * @return {void}
     * @private
     */
    constructDatasource(dataSource: object, dataSourceSettings: DataModel): void;
    /**
     * Method to construct Axis Collection.
     * @return {void}
     * @private
     */
    private constructAdaptiveAxis;
    /**
     * Method to calculate Numeric Axis Collection.
     * @return {string[]}
     * @private
     */
    private getNumericAxisCollection;
    /**
     * Method to calculate DateTime Axis Collection.
     * @return {string[]}
     * @private
     */
    private getDateAxisCollection;
    /**
     * Method to calculate Maximum and Minimum Value from datasource.
     * @return {void}
     * @private
     */
    private getMinMaxValue;
    /**
     * Method to process Cell datasource.
     * @return {Object}
     * @private
     */
    private processCellData;
    /**
     * Method to process JSON Cell datasource.
     * @return {Object}
     * @private
     */
    private processJsonCellData;
    /**
     * Method to generate axis labels when labels are not given.
     * @return {string}
     * @private
     */
    private generateAxisLabels;
    /**
     * Method to get data from complex mapping.
     * @return {number|string}
     * @private
     */
    private getSplitDataValue;
    /**
     * Method to process JSON Table datasource.
     * @return {Object}
     * @private
     */
    private processJsonTableData;
    /**
     * To destroy the Adaptor.
     * @return {void}
     * @private
     */
    destroy(heatMap: HeatMap): 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 as a string accepts input as both like '100px' or '100%'.
     * If specified as '100%, heatmap renders to the full height of its parent element.
     * @default null
     */
    height?: string;
    /**
     * Enable or disable the tool tip for heatmap
     * @default true
     */
    showTooltip?: boolean;
    /**
     * Triggers when click the heat map cell.
     * @event
     * @blazorProperty 'TooltipRendering'
     */
    tooltipRender?: base.EmitType<ITooltipEventArgs>;
    /**
     * Triggers after resizing of Heatmap.
     * @event
     * @blazorProperty 'Resized'
     */
    resized?: base.EmitType<IResizeEventArgs>;
    /**
     * Triggers after heatmap is loaded.
     * @event
     * @blazorProperty 'Loaded'
     */
    loaded?: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers before each heatmap cell renders.
     * @deprecated
     * @event
     * @blazorProperty 'CellRendering'
     */
    cellRender?: base.EmitType<ICellEventArgs>;
    /**
     * Triggers when multiple cells gets selected.
     * @event
     * @blazorProperty 'CellSelected'
     */
    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.
     */
    dataSourceSettings?: DataModel;
    /**
     *  Specifies the theme for heatmap.
     * @default 'Material'
     */
    theme?: HeatMapTheme;
    /**
     * Enable or disable the selection of multiple cells in heatmap
     * @default false
     */
    allowSelection?: boolean;
    /**
     * Options to customize left, right, top and bottom margins of the heat map.
     */
    margin?: MarginModel;
    /**
     * Title of heat map
     * @default ''
     */
    titleSettings?: TitleModel;
    /**
     * Options to configure the horizontal axis.
     */
    xAxis?: AxisModel;
    /**
     * Options for customizing the legend of the heat map
     * @default ''
     */
    legendSettings?: LegendSettingsModel;
    /**
     * Options for customizing the cell color of the heat map
     */
    paletteSettings?: PaletteSettingsModel;
    /**
     * Options for customizing the ToolTipSettings property  of the heat map
     */
    tooltipSettings?: TooltipSettingsModel;
    /**
     * Options to configure the vertical axis.
     */
    yAxis?: AxisModel;
    /**
     * Options to customize the heat map cell
     */
    cellSettings?: CellSettingsModel;
    /**
     * Triggers after heat map rendered.
     * @event
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers before heat map load.
     * @event
     * @blazorProperty 'OnLoad'
     */
    load?: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers when click the heat map cell.
     * @event
     * @blazorProperty 'CellClicked'
     */
    cellClick?: base.EmitType<ICellClickEventArgs>;
    /**
     * Triggers before the legend is rendered.
     * @deprecated
     * @event
     * @blazorProperty 'LegendRendering'
     */
    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 as a string accepts input as both like '100px' or '100%'.
     * If specified as '100%, heatmap renders to the full height of its parent element.
     * @default null
     */
    height: string;
    /**
     * Enable or disable the tool tip for heatmap
     * @default true
     */
    showTooltip: boolean;
    /**
     * Triggers when click the heat map cell.
     * @event
     * @blazorProperty 'TooltipRendering'
     */
    tooltipRender: base.EmitType<ITooltipEventArgs>;
    /**
     * Triggers after resizing of Heatmap.
     * @event
     * @blazorProperty 'Resized'
     */
    resized: base.EmitType<IResizeEventArgs>;
    /**
     * Triggers after heatmap is loaded.
     * @event
     * @blazorProperty 'Loaded'
     */
    loaded: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers before each heatmap cell renders.
     * @deprecated
     * @event
     * @blazorProperty 'CellRendering'
     */
    cellRender: base.EmitType<ICellEventArgs>;
    /**
     * Triggers when multiple cells gets selected.
     * @event
     * @blazorProperty 'CellSelected'
     */
    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.
     */
    dataSourceSettings: DataModel;
    /**
     *  Specifies the theme for heatmap.
     * @default 'Material'
     */
    theme: HeatMapTheme;
    /**
     * Enable or disable the selection of multiple cells in heatmap
     * @default false
     */
    allowSelection: boolean;
    /**
     * Options to customize left, right, top and bottom margins of the heat map.
     */
    margin: MarginModel;
    /**
     * Title of heat map
     * @default ''
     */
    titleSettings: TitleModel;
    /**
     * Options to configure the horizontal axis.
     */
    xAxis: AxisModel;
    /**
     * Options for customizing the legend of the heat map
     * @default ''
     */
    legendSettings: LegendSettingsModel;
    /**
     * Options for customizing the cell color of the heat map
     */
    paletteSettings: PaletteSettingsModel;
    /**
     * Options for customizing the ToolTipSettings property  of the heat map
     */
    tooltipSettings: TooltipSettingsModel;
    /**
     * Options to configure the vertical axis.
     */
    yAxis: AxisModel;
    /**
     * Options to customize the heat map cell
     */
    cellSettings: CellSettingsModel;
    /**
     * Triggers after heat map rendered.
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Object>;
    /**
     * Triggers before heat map load.
     * @event
     * @blazorProperty 'OnLoad'
     */
    load: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers when click the heat map cell.
     * @event
     * @blazorProperty 'CellClicked'
     */
    cellClick: base.EmitType<ICellClickEventArgs>;
    /**
     * Triggers before the legend is rendered.
     * @deprecated
     * @event
     * @blazorProperty 'LegendRendering'
     */
    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 */
    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
     */
    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;
    /** @private */
    isBlazor: boolean;
    /**
     * 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;
    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
     * @return{base.ModuleDeclaration[]}
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * To destroy the widget
     * @method destroy
     * @return {void}.
     * @member of Heatmap
     */
    destroy(): void;
    /**
     * Applies all the pending property changes and render the component again.
     * @method destroy
     * @return {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 unbind events for HeatMap
     */
    private unWireEvents;
    /**
     * Handles the heatmap resize.
     * @return {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.
     * @return {boolean}
     * @private
     */
    heatMapMouseMove(e: PointerEvent): boolean;
    /**
     * 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
     */
    clearSelection(): void;
    private renderMousePointer;
    /**
     * Handles the mouse end.
     * @return {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.
     * @return {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 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 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 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[];
    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.
     * @return {void}
     * @private
     */
    destroy(heatMap: HeatMap): void;
    /**
     * @private
     */
    renderLegendItems(): void;
    private renderSmartLegend;
    private renderLegendLabel;
    /**
     * @private
     */
    renderGradientPointer(e: PointerEvent, pageX: number, pageY: number): void;
    /**
     * @private
     */
    removeGradientPointer(): void;
    /**
     * @private
     */
    calculateLegendBounds(rect: Rect): void;
    private calculateListLegendBounds;
    private getMaxLabelSize;
    /**
     * @private
     */
    calculateLegendSize(rect: Rect, legendTop: number): void;
    private measureListLegendBound;
    private renderPagingElements;
    private calculateGradientScale;
    private calculateColorAxisGrid;
    private renderColorAxisGrid;
    /**
     * @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(heatMap: HeatMap): 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 PaletteCollection
 */
export interface PaletteCollectionModel {
    /**
     * Palette color value
     * @default null
     */
    value?: number;
    /**
     * Palette color text
     * @default ''
     */
    color?: string;
    /**
     * Palette color label
     * @default ''
     */
    label?: 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
     * @blazorDefaultValueIgnore
     */
    start?: number | Date | string;
    /**
     * End value of the multi level labels
     * @default null
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     */
    end?: number | Date | string;
    /**
     * multi level labels text.
     * @default ''
     */
    text?: string;
    /**
     * Maximum width of the text for multi level labels.
     * @default null
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     */
    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 {
}
//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 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;
}
/**
 * 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
     * @blazorDefaultValueIgnore
     */
    start: number | Date | string;
    /**
     * End value of the multi level labels
     * @default null
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     */
    end: number | Date | string;
    /**
     * multi level labels text.
     * @default ''
     */
    text: string;
    /**
     * Maximum width of the text for multi level labels.
     * @default null
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     */
    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;
    constructor(value: number, color: string, label: 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;
    isHidden: boolean;
    constructor(value: number, color: string, label: string, isHidden: boolean);
}
//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;
}
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;
}
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 */
    let heatMapTitleFont: IFontMapping;
    /** @private */
    let axisTitleFont: IFontMapping;
    /** @private */
    let axisLabelFont: IFontMapping;
    /** @private */
    let legendLabelFont: IFontMapping;
    /** @private */
    let rectLabelFont: IFontMapping;
    /** @private */
    let tooltipFont: IFontMapping;
}
/** @private */
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.
     * @return {void}
     * @private
     */
    renderRectSeries(): void;
    /**
     * To toggle the cell text color based on legend selection.
     */
    private isCellValueInRange;
    /**
     * To customize the cell.
     * @return {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.
     * @return {string}
     * @private
     */
    private getSaturatedColor;
    /**
     * To highlight the mouse hovered rect cell.
     * @return {void}
     * @private
     */
    highlightSvgRect(tempID: string): void;
    /**
     * To get the value depends to format.
     * @return {string}
     * @private
     */
    getFormatedText(val: number, getFormat: string): string;
    /**
     * To get mouse hovered cell details.
     * @return {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;
}
/**
 * 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;
}
/**
 * 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.
     * @return {RGB}
     * @private
     */
    convertToRGB(value: number, colorMapping: ColorCollection[]): RgbColor;
    /**
     * To convert RGB to HEX.
     * @return {string}
     * @private
     */
    rgbToHex(r: number, g: number, b: number): string;
    /**
     * To convert Component to HEX.
     * @return {string}
     * @private
     */
    protected componentToHex(c: number): string;
    /**
     * To get similar color.
     * @return {string}
     * @private
     */
    protected getEqualColor(list: ColorCollection[], offset: number): string;
    /**
     * To convert RGB to HEX.
     * @return {string}
     * @private
     */
    protected convertToHex(color: string): string;
    /**
     * To get RGB for percentage value.
     * @return {RGB}
     * @private
     */
    protected getPercentageColor(percent: number, previous: string, next: string): RgbColor;
    /**
     * To convert numbet to percentage.
     * @return {RGB}
     * @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';
/**
 * 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';
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.
 */
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';
/**
 * 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/helper.d.ts
/**
 * Helper method for heatmap
 */
/** @private */
export  function stringToNumber(value: string, containerSize: number): number;
/**
 * Function to measure the height and width of the text.
 * @private
 */
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);
}
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);
}
/** @private */
export  function sum(values: number[]): number;
/** @private */
export  function titlePositionY(heatmapSize: Size, topPadding: number, bottomPadding: number, titleStyle: FontModel): number;
/** @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;
    drawCanvasRectangle(canvas: svgBase.CanvasRenderer, options: RectOption, isFromSeries?: Boolean): void;
    private drawCornerRadius;
    drawCanvasCircle(canvas: svgBase.CanvasRenderer, options: CircleOption): void;
    drawCanvasPath(canvas: svgBase.CanvasRenderer, properties: PathAttributes, options: Path): void;
}
export  function getTitle(title: string, style: FontModel, width: number): string[];
export  function textWrap(currentLabel: string, maximumWidth: number, font: FontModel): string[];
/** @private */
export  function textTrim(maxWidth: number, text: string, font: FontModel): string;
/** @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);
}
/** @private */
export  function showTooltip(text: string, x: number, y: number, areaWidth: number, id: string, element: Element, isTouch?: boolean, heatmap?: HeatMap): void;
/** @private */
export  function removeElement(id: string): void;
/** @private */
export  function getElement(id: string): Element;
/** @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);
}
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;
    constructor(visible: boolean, value: number);
}
/** @private */
export  function colorNameToHex(color: string): string;
/** @private */
export  function convertToHexCode(value: RgbColor): string;
/** @private */
export  function componentToHex(value: number): string;
/** @private */
export  function convertHexToColor(hex: string): RgbColor;
/** @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.
     * @return {void}
     * @private
     */
    destroy(heatMap: HeatMap): void;
    /**
     * To add Tooltip to the rect cell.
     * @return {void}
     * @private
     */
    private createTooltip;
    /**
     * To create div container for tooltip.
     * @return {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 inplaceEditor { 

//node_modules/@syncfusion/ej2-inplace-editor/src/index.d.ts
/**
 *
 */
//node_modules/@syncfusion/ej2-inplace-editor/src/inplace-editor/base/classes.d.ts
/**
 * InPlace-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
/**
 * InPlace-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;
//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.
     * @default ''
     */
    name?: string;
    /**
     * Specifies the display value for input when original input value is empty.
     * @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.
     * @default ''
     * @blazorType string
     */
    template?: string | HTMLElement;
    /**
     * 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.
     * @default ''
     */
    primaryKey?: string | number;
    /**
     * Sets the text to be shown when an element has 'Empty' value.
     * @default 'Empty'
     */
    emptyText?: string;
    /**
     * Gets the url for server submit action.
     * @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.
     * @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.
     * @default 'data.UrlAdaptor'
     */
    adaptor?: AdaptorType;
    /**
     * Specifies the type of components that integrated with In-place editor to make it as editable.
     * @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.
     * @default 'Click'
     */
    editableOn?: EditableType;
    /**
     * 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
     * @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.
     * @default true
     */
    showButtons?: boolean;
    /**
     * Specifies to show/hide the editing mode.
     * @default false
     */
    enableEditMode?: boolean;
    /**
     * Sets to trigger the submit action with enter key pressing of input.
     * @default true
     */
    submitOnEnter?: boolean;
    /**
     * Specifies the object to customize popup display settings like positions, animation etc.
     * @default {}
     */
    popupSettings?: PopupSettingsModel;
    /**
     * Specifies the model object configuration for the integrated components like AutoComplete, calendars.DatePicker,inputs.NumericTextBox, etc.
     * @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.
     * @default { iconCss: 'e-icons e-save-icon' }
     */
    saveButton?: buttons.ButtonModel;
    /**
     * Used to customize the "Cancel" button UI appearance by defining buttons.Button model configuration.
     * @default { iconCss: 'e-icons e-cancel-icon' }
     */
    cancelButton?: buttons.ButtonModel;
    /**
     * Maps the validation rules for the input.
     * @default null
     */
    validationRules?: { [name: string]: { [rule: string]: Object } };
    /**
     * The event will be fired once the component rendering is completed.
     * @event
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Event>;
    /**
     * The event will be fired before the data submitted to the server.
     * @event
     * @blazorProperty 'OnActionBegin'
     */
    actionBegin?: base.EmitType<ActionBeginEventArgs>;
    /**
     * The event will be fired when data submitted successfully to the server.
     * @event
     * @blazorProperty 'OnActionSuccess'
     */
    actionSuccess?: base.EmitType<ActionEventArgs>;
    /**
     * The event will be fired when data submission failed.
     * @event
     * @blazorProperty 'OnActionFailure'
     */
    actionFailure?: base.EmitType<ActionEventArgs>;
    /**
     * The event will be fired while validating current value.
     * @event
     * @blazorProperty 'Validating'
     */
    validating?: base.EmitType<ValidateEventArgs>;
    /**
     * The event will be fired before changing the mode from default to edit mode.
     * @event
     */
    beginEdit?: base.EmitType<BeginEditEventArgs>;
    /**
     * The event will be fired when the component gets destroyed.
     * @event
     * @blazorProperty 'Destroyed'
     */
    destroyed?: base.EmitType<Event>;
}
//node_modules/@syncfusion/ej2-inplace-editor/src/inplace-editor/base/inplace-editor.d.ts
/**
 * 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 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 loaderWidth;
    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 formValidate;
    private componentObj;
    private isExtModule;
    private submitBtn;
    private cancelBtn;
    private isClearTarget;
    private btnElements;
    private dataManager;
    private componentRoot;
    private dataAdaptor;
    private divComponents;
    private clearComponents;
    private dateType;
    private inputDataEle;
    private dropDownEle;
    private moduleList;
    private afterOpenEvent;
    /**
     * @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.
     * @default ''
     */
    name: string;
    /**
     * Specifies the display value for input when original input value is empty.
     * @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.
     * @default ''
     * @blazorType string
     */
    template: string | HTMLElement;
    /**
     * 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.
     * @default ''
     */
    primaryKey: string | number;
    /**
     * Sets the text to be shown when an element has 'Empty' value.
     * @default 'Empty'
     */
    emptyText: string;
    /**
     * Gets the url for server submit action.
     * @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.
     * @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.
     * @default 'UrlAdaptor'
     */
    adaptor: AdaptorType;
    /**
     * Specifies the type of components that integrated with In-place editor to make it as editable.
     * @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.
     * @default 'Click'
     */
    editableOn: EditableType;
    /**
     * 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
     * @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.
     * @default true
     */
    showButtons: boolean;
    /**
     * Specifies to show/hide the editing mode.
     * @default false
     */
    enableEditMode: boolean;
    /**
     * Sets to trigger the submit action with enter key pressing of input.
     * @default true
     */
    submitOnEnter: boolean;
    /**
     * Specifies the object to customize popup display settings like positions, animation etc.
     * @default {}
     */
    popupSettings: PopupSettingsModel;
    /**
     * Specifies the model object configuration for the integrated components like AutoComplete, DatePicker,NumericTextBox, etc.
     * @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.
     * @default { iconCss: 'e-icons e-save-icon' }
     */
    saveButton: buttons.ButtonModel;
    /**
     * Used to customize the "Cancel" button UI appearance by defining Button model configuration.
     * @default { iconCss: 'e-icons e-cancel-icon' }
     */
    cancelButton: buttons.ButtonModel;
    /**
     * Maps the validation rules for the input.
     * @default null
     */
    validationRules: {
        [name: string]: {
            [rule: string]: Object;
        };
    };
    /**
     * The event will be fired once the component rendering is completed.
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Event>;
    /**
     * The event will be fired before the data submitted to the server.
     * @event
     * @blazorProperty 'OnActionBegin'
     */
    actionBegin: base.EmitType<ActionBeginEventArgs>;
    /**
     * The event will be fired when data submitted successfully to the server.
     * @event
     * @blazorProperty 'OnActionSuccess'
     */
    actionSuccess: base.EmitType<ActionEventArgs>;
    /**
     * The event will be fired when data submission failed.
     * @event
     * @blazorProperty 'OnActionFailure'
     */
    actionFailure: base.EmitType<ActionEventArgs>;
    /**
     * The event will be fired while validating current value.
     * @event
     * @blazorProperty 'Validating'
     */
    validating: base.EmitType<ValidateEventArgs>;
    /**
     * The event will be fired before changing the mode from default to edit mode.
     * @event
     */
    beginEdit: base.EmitType<BeginEditEventArgs>;
    /**
     * The event will be fired when the component gets destroyed.
     * @event
     * @blazorProperty 'Destroyed'
     */
    destroyed: base.EmitType<Event>;
    /**
     * Initialize the event handler
     * @private
     */
    protected preRender(): void;
    /**
     * To Initialize the In-place editor rendering
     * @private
     */
    protected render(): void;
    /**
     * Initializes a new instance of the In-place editor class.
     * @param options  - Specifies In-place editor model properties as options.
     * @param element  - Specifies the element for which In-place editor applies.
     */
    constructor(options?: InPlaceEditorModel, element?: string | HTMLElement);
    private setClass;
    private appendValueElement;
    private renderValue;
    private renderEditor;
    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;
    private appendTemplate;
    private disable;
    private enableEditor;
    private checkValidation;
    private toggleErrorClass;
    private updateArrow;
    private triggerSuccess;
    private wireEvents;
    private wireDocEvent;
    private wireEditEvent;
    private wireEditorKeyDownEvent;
    private wireBtnEvents;
    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;
    /**
     * 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
     */
    protected getPersistData(): string;
    /**
     * To provide the array of modules needed for component rendering
     * @return {base.ModuleDeclaration[]}
     * @hidden
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * Returns the current module name.
     * @returns 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
     * @param  {InPlaceEditorModel} oldProp
     * @returns void
     * @private
     */
    onPropertyChanged(newProp: InPlaceEditorModel, oldProp: InPlaceEditorModel): void;
}
//node_modules/@syncfusion/ej2-inplace-editor/src/inplace-editor/base/interface.d.ts
/**
 * InPlace-Editor interface defined here.
 * @hidden
 */
export  type Component = dropdowns.AutoComplete | inputs.ColorPicker | dropdowns.ComboBox | calendars.DateRangePicker | dropdowns.MultiSelect | richtexteditor.RichTextEditor | inputs.Slider | calendars.TimePicker;
export interface NotifyParams {
    type?: string;
    module: string;
    target?: HTMLElement | HTMLInputElement;
}
export interface IComponent {
    compObj: Component;
    render(e: NotifyParams): void;
    focus(): void;
    updateValue(e: NotifyParams): void;
    refresh?(): void;
    getRenderValue?(): void;
}
export interface IButton {
    type: string;
    constant: string;
    title: Object;
    className: string;
    model: buttons.ButtonModel;
    container: HTMLElement;
}
export interface ActionBeginEventArgs {
    /** Defines the name of the field */
    data: {
        [key: string]: string | number;
    };
}
export interface ActionEventArgs {
    /** Defines the prevent action. */
    cancel?: boolean;
    /** Defines the data manager action result. */
    data: Object;
    /** Defines the current editor value */
    value: string;
}
export interface FormEventArgs {
    inputName: string;
    message: string;
    element: HTMLInputElement;
    status?: string;
    errorElement?: HTMLElement;
}
export interface ValidateEventArgs extends ActionBeginEventArgs {
    /** Defines form validation error message. */
    errorMessage: string;
}
export interface BeginEditEventArgs {
    /** Specifies whether to cancel the focus action, before open a editor. */
    cancelFocus?: boolean;
    /** Defines the current editor mode. */
    mode?: RenderMode;
}
//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  let 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;
/**
 * @hidden
 */
export  function parseValue(type: string, val: valueType, model: modelType): string;
export  function getCompValue(type: string, val: valueType): valueType;
//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;
    focus(): void;
    updateValue(e: NotifyParams): void;
    /**
     * Destroys the module.
     * @method destroy
     * @return {void}
     * @hidden
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     */
    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 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.
     * @method destroy
     * @return {void}
     * @hidden
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     */
    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;
    updateValue(e: NotifyParams): void;
    /**
     * Destroys the module.
     * @method destroy
     * @return {void}
     * @hidden
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     */
    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;
    updateValue(e: NotifyParams): void;
    /**
     * Destroys the module.
     * @method destroy
     * @return {void}
     * @hidden
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     */
    private getModuleName;
}
//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;
    compObj: dropdowns.MultiSelect;
    constructor(parent?: InPlaceEditor);
    render(e: NotifyParams): void;
    focus(): void;
    updateValue(e: NotifyParams): void;
    getRenderValue(): void;
    /**
     * Destroys the module.
     * @method destroy
     * @return {void}
     * @hidden
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     */
    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.
     * @method destroy
     * @return {void}
     * @hidden
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     */
    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.
     * @method destroy
     * @return {void}
     * @hidden
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     */
    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;
    /**
     * Destroys the module.
     * @method destroy
     * @return {void}
     * @hidden
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     */
    private getModuleName;
}
 }
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;
    /**
     * Triggers while selecting the color in picker / palette, when showButtons property is enabled.
     * @event
     * @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
     * @blazorProperty 'ValueChange'
     */
    change?: base.EmitType<ColorPickerEventArgs>;
    /**
     * Trigger while rendering each palette tile.
     * @event 
     * @blazorProperty 'OnTileRender'
     */
    beforeTileRender?: base.EmitType<PaletteTileEventArgs>;
    /**
     * Triggers before opening the ColorPicker popup.
     * @event
     * @blazorProperty 'OnOpen'
     */
    beforeOpen?: base.EmitType<BeforeOpenCloseEventArgs>;
    /**
     * Triggers while opening the ColorPicker popup.
     * @event
     * @blazorProperty 'Opened'
     */
    open?: base.EmitType<OpenEventArgs>;
    /**
     * Triggers before closing the ColorPicker popup.
     * @event
     * @blazorProperty 'OnClose'
     */
    beforeClose?: base.EmitType<BeforeOpenCloseEventArgs>;
    /**
     * Triggers before Switching between ColorPicker mode.
     * @event
     * @blazorProperty 'OnModeSwitch'
     */
    beforeModeSwitch?: base.EmitType<ModeSwitchEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     * @event
     * @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;
    /**
     * Triggers while selecting the color in picker / palette, when showButtons property is enabled.
     * @event
     * @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
     * @blazorProperty 'ValueChange'
     */
    change: base.EmitType<ColorPickerEventArgs>;
    /**
     * Trigger while rendering each palette tile.
     * @event
     * @blazorProperty 'OnTileRender'
     */
    beforeTileRender: base.EmitType<PaletteTileEventArgs>;
    /**
     * Triggers before opening the ColorPicker popup.
     * @event
     * @blazorProperty 'OnOpen'
     */
    beforeOpen: base.EmitType<BeforeOpenCloseEventArgs>;
    /**
     * Triggers while opening the ColorPicker popup.
     * @event
     * @blazorProperty 'Opened'
     */
    open: base.EmitType<OpenEventArgs>;
    /**
     * Triggers before closing the ColorPicker popup.
     * @event
     * @blazorProperty 'OnClose'
     */
    beforeClose: base.EmitType<BeforeOpenCloseEventArgs>;
    /**
     * Triggers before Switching between ColorPicker mode.
     * @event
     * @blazorProperty 'OnModeSwitch'
     */
    beforeModeSwitch: base.EmitType<ModeSwitchEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Event>;
    constructor(options?: ColorPickerModel, element?: string | HTMLInputElement);
    protected preRender(): void;
    /**
     * To Initialize the component rendering
     * @private
     */
    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 value - Specify the color value.
     * @param type - Specify the type to which the specified color needs to be converted.
     * @method getValue
     * @return {string}
     */
    getValue(value?: string, type?: string): string;
    /**
     * To show/hide ColorPicker popup based on current state of the SplitButton.
     * @method toggle
     * @return {void}
     */
    toggle(): void;
    /**
     * Get component name.
     * @returns string
     * @private
     */
    getModuleName(): string;
    /**
     * Gets the properties to be maintained in the persisted state.
     * @return {string}
     */
    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
     * @return {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
     * @param  {ColorPickerModel} oldProp
     * @returns void
     * @private
     */
    onPropertyChanged(newProp: ColorPickerModel, oldProp: ColorPickerModel): void;
    /**
     * Sets the focus to Colorpicker
     * its native method
     * @public
     */
    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/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?: base.EmitType<Event>;
    /**
     * Trigger when keyup is triggered in any fields
     * @event
     */
    keyup?: base.EmitType<KeyboardEvent>;
    /**
     * Triggers when a check box field is clicked
     * @event
     */
    click?: base.EmitType<Event>;
    /**
     * Trigger when a base.select/drop-down field is changed
     * @event
     */
    change?: base.EmitType<Event>;
    /**
     * Triggers before form is being submitted
     * @event
     */
    submit?: base.EmitType<Event>;
    /**
     * Triggers before validation starts
     * @event
     */
    validationBegin?: base.EmitType<Object | ValidArgs>;
    /**
     * Triggers after validation is completed
     * @event
     */
    validationComplete?: base.EmitType<Object | FormEventArgs>;
    /**
     * Assigns the custom function to place the error message in the page.
     * @event
     */
    // tslint:disable
    customPlacement?: base.EmitType<HTMLElement | any>;
}
//node_modules/@syncfusion/ej2-inputs/src/form-validator/form-validator.d.ts
/**
 * global declarations
 */
export  let 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: base.EmitType<Event>;
    /**
     * Trigger when keyup is triggered in any fields
     * @event
     */
    keyup: base.EmitType<KeyboardEvent>;
    /**
     * Triggers when a check box field is clicked
     * @event
     */
    click: base.EmitType<Event>;
    /**
     * Trigger when a select/drop-down field is changed
     * @event
     */
    change: base.EmitType<Event>;
    /**
     * Triggers before form is being submitted
     * @event
     */
    submit: base.EmitType<Event>;
    /**
     * Triggers before validation starts
     * @event
     */
    validationBegin: base.EmitType<Object | ValidArgs>;
    /**
     * Triggers after validation is completed
     * @event
     */
    validationComplete: base.EmitType<Object | FormEventArgs>;
    /**
     * Assigns the custom function to place the error message in the page.
     * @event
     */
    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.
     * @return {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.
     * @return {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.
     * @return {boolean}
     */
    validate(selected?: string): boolean;
    /**
     * Reset the value of all the fields in form.
     * @return {void}
     */
    reset(): void;
    /**
     * Get input element by name.
     * @param {string} name - Input element name attribute value.
     * @return {HTMLInputElement}
     */
    getInputElement(name: string): HTMLInputElement;
    /**
     * Destroy the form validator object and error elements.
     * @return {void}
     */
    destroy(): void;
    /**
     * Specifies the default messages for validation rules.
     * @default { List of validation message }
     */
    defaultMessages: {
        [rule: string]: string;
    };
    /**
     * @private
     */
    onPropertyChanged(newProp: FormValidatorModel, oldProp?: FormValidatorModel): void;
    /**
     * @private
     */
    localeFunc(): void;
    /**
     * @private
     */
    getModuleName(): string;
    /**
     * @private
     */
    afterLocalization(args: any): void;
    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' } });
     * ```
     * @param args
     */
    function createInput(args: InputArgs, internalCreateElement?: createElementParams): InputObject;
    /**
     * Sets the value to the input element.
     * ```
     * E.g : Input.setValue('content', element, "Auto", true );
     * ```
     * @param value - Specify the value of the input element.
     * @param element - The element on which the specified value is updated.
     * @param floatLabelType - Specify the float label type of the input element.
     * @param 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 cssClass - Css class names which are needed to add.
     * @param elements - The elements which are needed to add / remove classes.
     * @param 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 placeholder attribute to the input element.
     * ```
     * E.g : Input.setPlaceholder('Search here', element);
     * ```
     * @param placeholder - Placeholder value which is need to add.
     * @param 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 isReadonly
     * - Boolean value to specify whether to set read only. Setting "True" value enables read only.
     * @param 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 isRtl
     * - Boolean value to specify whether to set RTL. Setting "True" value enables the RTL mode.
     * @param 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 isEnable
     * - Boolean value to specify whether to enable or disable.
     * @param 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 attrs
     *  - Array of attributes which are need to removed from the element.
     * @param 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 attrs
     * - Array of attributes which is added to element.
     * @param 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;
    /**
     * 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 isRipple
     * - Boolean value to specify whether to enable the ripple effect.
     * @param inputObject
     * - 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.appendSpan('e-icon-spin', inputObj.container);
     * ```
     * @param 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 container - The container on which created span element is going to append.
     */
    function appendSpan(iconClass: string, container: HTMLElement, internalCreateElement?: createElementParams): HTMLElement;
}
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, 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  let regularExpressions: {
    [key: string]: string;
};
/**
 * @hidden
 * Generate required masking elements to the MaskedTextBox from user mask input.
 */
export  function createMask(): void;
/**
 * @hidden
 * Apply mask ability with masking elements to the MaskedTextBox.
 */
export  function applyMask(): void;
/**
 * @hidden
 * To wire required events to the MaskedTextBox.
 */
export  function wireEvents(): void;
/**
 * @hidden
 * To unwire events attached to the MaskedTextBox.
 */
export  function unwireEvents(): void;
/**
 * @hidden
 * To bind required events to the MaskedTextBox clearButton.
 */
export  function bindClearEvent(): void;
/**
 * @hidden
 * To get masked value from the MaskedTextBox.
 */
export  function unstrippedValue(element: HTMLInputElement): string;
/**
 * @hidden
 * To extract raw value from the MaskedTextBox.
 */
export  function strippedValue(element: HTMLInputElement, maskValues: string): string;
export  function maskInputFocusHandler(event: MouseEvent | FocusEvent | TouchEvent | KeyboardEvent): void;
export  function maskInputBlurHandler(event: MouseEvent | FocusEvent | TouchEvent | KeyboardEvent): void;
export  function maskInputDropHandler(event: MouseEvent): void;
export  function mobileRemoveFunction(): void;
/**
 * @hidden
 * To set updated values in the MaskedTextBox.
 */
export  function setMaskValue(val?: string): void;
/**
 * @hidden
 * To set updated values in the input element.
 */
export  function setElementValue(val: string, element?: HTMLInputElement): void;
/**
 * @hidden
 * Provide mask support to input textbox through utility method.
 */
export  function maskInput(args: MaskInputArgs): void;
/**
 * @hidden
 * Gets raw value of the textbox which has been masked through utility method.
 */
export  function getVal(args: GetValueInputArgs): string;
/**
 * @hidden
 * Gets masked value of the textbox which has been masked through utility method.
 */
export  function getMaskedVal(args: GetValueInputArgs): string;
/**
 * @hidden
 * Arguments to get the raw and masked value of MaskedTextBox which has been masked through utility method.
 */
export interface GetValueInputArgs {
    element: HTMLInputElement;
    mask: string;
    promptChar?: string;
    customCharacters?: {
        [x: string]: Object;
    };
}
/**
 * @hidden
 * Arguments to mask input textbox through utility method.
 */
export interface MaskInputArgs extends GetValueInputArgs {
    value?: string;
}
/**
 * @hidden
 * Arguments to perform undo and redo functionalities.
 */
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 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;
 };
    /**
     * 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.
     * @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.
     * ```html
     * <input id="mask" type="text" />
     * ```
     * ```typescript
     * <script>
     * var maskObj = new MaskedTextBox({ mask: "(999) 9999-999", value: "8674321756" });
     * maskObj.appendTo('#mask');
     * </script>
     * ```
     * @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.
     * ```html
     * <input id="mask" type="text" />
     * ```
     * ```typescript
     * <script>
     * var customChar = { P: 'P,A,p,a', M: 'M,m'};
     * var maskObj = new MaskedTextBox({ mask: "99 : 99 PM", customCharacters: customChar });
     * maskObj.appendTo('#mask');
     * </script>
     * ```
     * For more information on customCharacters, refer to
     * [customCharacters](../../maskedtextbox/mask-configuration/#custom-characters).
     * @default null
     */
    customCharacters?: { [x: string]: Object };
    /**
     * Triggers when the MaskedTextBox component is created.
     * @event
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the MaskedTextBox component is destroyed.
     * @event
     * @blazorProperty 'Destroyed'
     */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers when the value of the MaskedTextBox changes.
     * @event
     * @blazorProperty 'ValueChange'
     */
    change?: base.EmitType <MaskChangeEventArgs>;
    /**
     * Triggers when the MaskedTextBox got focus in.
     * @event
     */
    focus?: base.EmitType<MaskFocusEventArgs>;
    /**
     * Triggers when the MaskedTextBox got focus out.
     * @event
     */
    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;
    /**
     * 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.
     * @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.
     * @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.
     * ```html
     * <input id="mask" type="text" />
     * ```
     * ```typescript
     * <script>
     * var maskObj = new MaskedTextBox({ mask: "(999) 9999-999", value: "8674321756" });
     * maskObj.appendTo('#mask');
     * </script>
     * ```
     * @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.
     * ```html
     * <input id="mask" type="text" />
     * ```
     * ```typescript
     * <script>
     * var customChar = { P: 'P,A,p,a', M: 'M,m'};
     * var maskObj = new MaskedTextBox({ mask: "99 : 99 PM", customCharacters: customChar });
     * maskObj.appendTo('#mask');
     * </script>
     * ```
     * For more information on customCharacters, refer to
     * [customCharacters](../../maskedtextbox/mask-configuration/#custom-characters).
     * @default null
     */
    customCharacters: {
        [x: string]: Object;
    };
    /**
     * Triggers when the MaskedTextBox component is created.
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the MaskedTextBox component is destroyed.
     * @event
     * @blazorProperty 'Destroyed'
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers when the value of the MaskedTextBox changes.
     * @event
     * @blazorProperty 'ValueChange'
     */
    change: base.EmitType<MaskChangeEventArgs>;
    /**
     * Triggers when the MaskedTextBox got focus in.
     * @event
     */
    focus: base.EmitType<MaskFocusEventArgs>;
    /**
     * Triggers when the MaskedTextBox got focus out.
     * @event
     */
    blur: base.EmitType<MaskBlurEventArgs>;
    constructor(options?: MaskedTextBoxModel, element?: string | HTMLElement | HTMLInputElement);
    /**
     * Gets the component name
     * @private
     */
    protected getModuleName(): string;
    /**
     * Initializes the event handler
     * @private
     */
    protected preRender(): void;
    /**
     * Gets the properties to be maintained in the persisted state.
     * @return {string}
     */
    getPersistData(): string;
    /**
     * Initializes the component rendering.
     * @private
     */
    render(): void;
    private updateHTMLAttrToElement;
    private updateHTMLAttrToWrapper;
    private resetMaskedTextBox;
    private setMaskPlaceholder;
    private setWidth;
    private checkHtmlAttributes;
    private createWrapper;
    /**
     * Calls internally if any of the property value is changed.
     * @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.
     * @return {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
     * @return {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
     * @blazorDefaultValue EjsBase.GetNumericValue<TValue>("MinValue")
     */
    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
     * @blazorDefaultValue EjsBase.GetNumericValue<TValue>("MaxValue")
     */
    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
     * @blazorDefaultValue EjsBase.GetNumericValue<TValue>("Step")
     */
    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.
     * @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.
     * ```html
     * <input type='text' id="numeric"/>
     * ```
     * ```typescript
     * <script>
     *   var numericObj = new NumericTextBox({ min: 10, max: 20, value: 15 });
     *   numericObj.appendTo("#numeric");
     * </script>
     * ```
     * * 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.
     * ```html
     * <input type='text' id="numeric"/>
     * ```
     * ```typescript
     * <script>
     *   var numericObj = new NumericTextBox({ strictMode: false, min: 10, max: 20, value: 15 });
     *   numericObj.appendTo("#numeric");
     * </script>
     * ```
     * @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
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the NumericTextBox component is destroyed.
     * @event
     * @blazorProperty 'Destroyed'
     */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers when the value of the NumericTextBox changes.
     * @event
     * @blazorProperty 'ValueChange'
     */
    change?: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when the NumericTextBox got focus in.
     * @event
     */
    focus?: base.EmitType<NumericFocusEventArgs>;
    /**
     * Triggers when the NumericTextBox got focus out.
     * @event
     */
    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;
    /**
     * 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
     * @blazorDefaultValue EjsBase.GetNumericValue<TValue>("MinValue")
     */
    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
     * @blazorDefaultValue EjsBase.GetNumericValue<TValue>("MaxValue")
     */
    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
     * @blazorDefaultValue EjsBase.GetNumericValue<TValue>("Step")
     */
    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.
     * @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.
     * ```html
     * <input type='text' id="numeric"/>
     * ```
     * ```typescript
     * <script>
     *   var numericObj = new NumericTextBox({ min: 10, max: 20, value: 15 });
     *   numericObj.appendTo("#numeric");
     * </script>
     * ```
     * * 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.
     * ```html
     * <input type='text' id="numeric"/>
     * ```
     * ```typescript
     * <script>
     *   var numericObj = new NumericTextBox({ strictMode: false, min: 10, max: 20, value: 15 });
     *   numericObj.appendTo("#numeric");
     * </script>
     * ```
     * @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
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the NumericTextBox component is destroyed.
     * @event
     * @blazorProperty 'Destroyed'
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers when the value of the NumericTextBox changes.
     * @event
     * @blazorProperty 'ValueChange'
     */
    change: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when the NumericTextBox got focus in.
     * @event
     */
    focus: base.EmitType<NumericFocusEventArgs>;
    /**
     * Triggers when the NumericTextBox got focus out.
     * @event
     */
    blur: base.EmitType<NumericBlurEventArgs>;
    constructor(options?: NumericTextBoxModel, element?: string | HTMLInputElement);
    protected preRender(): void;
    /**
     * To Initialize the control rendering
     * @private
     */
    render(): void;
    private checkAttributes;
    private updatePlaceholder;
    private initCultureFunc;
    private initCultureInfo;
    private createWrapper;
    private updateHTMLAttrToElement;
    private updateHTMLAttrToWrapper;
    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 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.
     */
    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.
     */
    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
     * @return {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.
     * @return {string}
     */
    getPersistData(): string;
    /**
     * Calls internally if any of the property value is changed.
     * @private
     */
    onPropertyChanged(newProp: NumericTextBoxModel, oldProp: NumericTextBoxModel): void;
    /**
     * Gets the component name
     * @private
     */
    getModuleName(): string;
}
export interface ChangeEventArgs extends base.BaseEventArgs {
    /** Returns the entered value of the NumericTextBox. */
    value?: number;
    /** Returns the previously entered value of the NumericTextBox. */
    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. */
    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. */
    value: number;
    /** Returns the NumericTextBox container element */
    container?: HTMLElement;
}
//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.
     *
     * @default 'None'
     */
    placement?: Placement;
    /**
     * It is used to denote the distance between two major (large) ticks from the scale of the Slider.
     * @default 10
     */
    largeStep?: number;
    /**
     * It is used to denote the distance between two minor (small) ticks from the scale of the Slider.
     * @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).
     */
    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.
     * @default false
     */
    startHandleFixed?: boolean;
    /**
     * It is used to lock the second handle.
     * @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:
     *
     *  * 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.
     * @default 'Auto'
     */
    showOn?: TooltipShowOn;
    /**
     * It is used to show or hide the popups.Tooltip of Slider base.Component.
     */
    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[];
    /**
     * It is used to denote own array of slider values.
     * The value should be specified in array of number or string.The min,max and step value is not considered
     * @default null
     */
    customValues?: string[] | number[];
    /**
     * It is used to denote the step value of Slider component which is the amount of Slider value change
     *  when increase / decrease button is clicked or press arrow keys or drag the thumb.
     *  Refer the documentation [here](../../slider/ticks#step)
     *  to know more about this property with demo.
     *
     * {% codeBlock src="slider/step-api/index.ts" %}{% endcodeBlock %}
     * @default 1
     */
    step?: number;
    /**
     * It sets the minimum value of Slider base.Component
     *
     * {% codeBlock src="slider/min-max-api/index.ts" %}{% endcodeBlock %}
     * @default 0
     */
    min?: number;
    /**
     * It sets the maximum value of Slider base.Component
     *
     * {% codeBlock src="slider/min-max-api/index.ts" %}{% endcodeBlock %}
     * @default 100
     */
    max?: number;
    /**
     * It is used to render the Slider component in read-only mode.
     * The slider rendered with user defined values and can’t be interacted with user actions.
     * @default false
     */
    readonly?: boolean;
    /**
     * It is used to denote the type of the Slider. The available options are:
     *  * default - Used to select a single value in the Slider.
     *  * minRange - Used to select a single value in the Slider. It displays shadow from the start value to the current value.
     *  * range - Used to select a range of values in the Slider. It displays shadow in-between the selection range.
     */
    type?: SliderType;
    /**
     * It is used to render the color to the slider based on the 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-api/index.ts" %}{% endcodeBlock %}
     * @default { placement: 'before' }
     */
    ticks?: TicksDataModel;
    /**
     * It is used to limit the slider movement within certain limits.
     * Refer the documentation [here](../../slider/limits)
     *  to know more about this property with demo
     *
     * {% codeBlock src="slider/limits-api/index.ts" %}{% endcodeBlock %}
     * @default { enabled: false }
     */
    limits?: LimitDataModel;
    /**
     * It is used to enable or disable the slider.
     * @default true
     */
    enabled?: boolean;
    /**
     * It is used to denote the slider tooltip and it's position.
     *
     * {% codeBlock src="slider/tooltip-api/index.ts" %}{% endcodeBlock %}
     * @default { placement: 'Before', isVisible: false, showOn: 'Focus', format: null }
     */
    tooltip?: TooltipDataModel;
    /**
     * It is used to show or hide the increase and decrease button of Slider base.Component,
     *  which is used to change the slider value.
     * Refer the documentation [here](../../slider/getting-started#buttons)
     *  to know more about this property with demo.
     *
     * {% codeBlock src="slider/showButtons-api/index.ts" %}{% endcodeBlock %}
     * @default false
     */
    showButtons?: boolean;
    /**
     * It is used to enable or disable the Slider handle moving animation.
     * @default true
     */
    enableAnimation?: boolean;
    /**
     * It is used to render Slider in either horizontal or vertical orientation.
     *  Refer the documentation [here](../../slider/getting-started#orientation)
     *  to know more about this property with demo.
     * @default 'Horizontal'
     */
    orientation?: SliderOrientation;
    /**
     * This property sets the CSS classes to root element of the Slider
     *  which helps to customize the UI styles.
     * @default ''
     */
    cssClass?: string;
    /**
     * We can trigger created event when the Slider is created.
     * @event
     * @blazorProperty 'Created'
     */
    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.
     * @event
     * @blazorProperty 'OnChange'
     */
    change?: base.EmitType<SliderChangeEventArgs>;
    /**
     * We can trigger changed event when Slider component action is completed while we change the Slider value.
     *  In other term, this event will be triggered, while drag the slider thumb completed.
     * @event
     * @blazorProperty 'ValueChange'
     */
    changed?: base.EmitType<SliderChangeEventArgs>;
    /**
     * We can trigger renderingTicks event when the ticks rendered on Slider,
     *  which is used to customize the ticks labels dynamically.
     * @event
     * @blazorProperty 'TicksRendering'
     */
    renderingTicks?: base.EmitType<SliderTickEventArgs>;
    /**
     * We can trigger renderedTicks event when the ticks are rendered on the Slider.
     * @event
     * @blazorProperty 'TicksRendered'
     */
    renderedTicks?: base.EmitType<SliderTickRenderedEventArgs>;
    /**
     * We can trigger tooltipChange event when we change the Sider tooltip value.
     * @deprecated
     * @event
     * @blazorProperty 'OnTooltipChange'
     */
    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.
     *
     * @default 'None'
     */
    placement: Placement;
    /**
     * It is used to denote the distance between two major (large) ticks from the scale of the Slider.
     * @default 10
     */
    largeStep: number;
    /**
     * It is used to denote the distance between two minor (small) ticks from the scale of the Slider.
     * @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).
     */
    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 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.
 */
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.
 */
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.
     * @default false
     */
    startHandleFixed: boolean;
    /**
     * It is used to lock the second handle.
     * @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:
     *
     *  * 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.
     * @default 'Auto'
     */
    showOn: TooltipShowOn;
    /**
     * It is used to show or hide the Tooltip of Slider base.Component.
     */
    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 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;
    /**
     * 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[];
    /**
     * It is used to denote own array of slider values.
     * The value should be specified in array of number or string.The min,max and step value is not considered
     * @default null
     */
    customValues: string[] | number[];
    /**
     * It is used to denote the step value of Slider component which is the amount of Slider value change
     *  when increase / decrease button is clicked or press arrow keys or drag the thumb.
     *  Refer the documentation [here](../../slider/ticks#step)
     *  to know more about this property with demo.
     *
     * {% codeBlock src="slider/step-api/index.ts" %}{% endcodeBlock %}
     * @default 1
     */
    step: number;
    /**
     * It sets the minimum value of Slider base.Component
     *
     * {% codeBlock src="slider/min-max-api/index.ts" %}{% endcodeBlock %}
     * @default 0
     */
    min: number;
    /**
     * It sets the maximum value of Slider base.Component
     *
     * {% codeBlock src="slider/min-max-api/index.ts" %}{% endcodeBlock %}
     * @default 100
     */
    max: number;
    /**
     * It is used to render the Slider component in read-only mode.
     * The slider rendered with user defined values and can’t be interacted with user actions.
     * @default false
     */
    readonly: boolean;
    /**
     * It is used to denote the type of the Slider. The available options are:
     *  * default - Used to select a single value in the Slider.
     *  * minRange - Used to select a single value in the Slider. It displays shadow from the start value to the current value.
     *  * range - Used to select a range of values in the Slider. It displays shadow in-between the selection range.
     */
    type: SliderType;
    /**
     * It is used to render the color to the slider based on the 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-api/index.ts" %}{% endcodeBlock %}
     * @default { placement: 'before' }
     */
    ticks: TicksDataModel;
    /**
     * It is used to limit the slider movement within certain limits.
     * Refer the documentation [here](../../slider/limits)
     *  to know more about this property with demo
     *
     * {% codeBlock src="slider/limits-api/index.ts" %}{% endcodeBlock %}
     * @default { enabled: false }
     */
    limits: LimitDataModel;
    /**
     * It is used to enable or disable the slider.
     * @default true
     */
    enabled: boolean;
    /**
     * It is used to denote the slider tooltip and it's position.
     *
     * {% codeBlock src="slider/tooltip-api/index.ts" %}{% endcodeBlock %}
     * @default { placement: 'Before', isVisible: false, showOn: 'Focus', format: null }
     */
    tooltip: TooltipDataModel;
    /**
     * It is used to show or hide the increase and decrease button of Slider base.Component,
     *  which is used to change the slider value.
     * Refer the documentation [here](../../slider/getting-started#buttons)
     *  to know more about this property with demo.
     *
     * {% codeBlock src="slider/showButtons-api/index.ts" %}{% endcodeBlock %}
     * @default false
     */
    showButtons: boolean;
    /**
     * It is used to enable or disable the Slider handle moving animation.
     * @default true
     */
    enableAnimation: boolean;
    /**
     * It is used to render Slider in either horizontal or vertical orientation.
     *  Refer the documentation [here](../../slider/getting-started#orientation)
     *  to know more about this property with demo.
     * @default 'Horizontal'
     */
    orientation: SliderOrientation;
    /**
     * This property sets the CSS classes to root element of the Slider
     *  which helps to customize the UI styles.
     * @default ''
     */
    cssClass: string;
    /**
     * We can trigger created event when the Slider is created.
     * @event
     * @blazorProperty 'Created'
     */
    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.
     * @event
     * @blazorProperty 'OnChange'
     */
    change: base.EmitType<SliderChangeEventArgs>;
    /**
     * We can trigger changed event when Slider component action is completed while we change the Slider value.
     *  In other term, this event will be triggered, while drag the slider thumb completed.
     * @event
     * @blazorProperty 'ValueChange'
     */
    changed: base.EmitType<SliderChangeEventArgs>;
    /**
     * We can trigger renderingTicks event when the ticks rendered on Slider,
     *  which is used to customize the ticks labels dynamically.
     * @event
     * @blazorProperty 'TicksRendering'
     */
    renderingTicks: base.EmitType<SliderTickEventArgs>;
    /**
     * We can trigger renderedTicks event when the ticks are rendered on the Slider.
     * @event
     * @blazorProperty 'TicksRendered'
     */
    renderedTicks: base.EmitType<SliderTickRenderedEventArgs>;
    /**
     * We can trigger tooltipChange event when we change the Sider tooltip value.
     * @deprecated
     * @event
     * @blazorProperty 'OnTooltipChange'
     */
    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 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 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 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 sliderDown;
    private handleValueAdjust;
    private dragRangeBarMove;
    private sliderBarUp;
    private sliderBarMove;
    private dragRangeBarUp;
    private checkRepeatedValue;
    private refreshTooltip;
    private openTooltip;
    private closeTooltip;
    private keyDown;
    private wireButtonEvt;
    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;
    /**
     * Prepares the slider for safe removal from the DOM.
     * Detaches all event handlers, attributes, and classes to avoid memory leaks.
     * @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(): 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.
     * @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;
    /**
     * Triggers when the TextBox component is created.
     * @event
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the TextBox component is destroyed.
     * @event
     * @blazorProperty 'Destroyed'
     */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers when the content of TextBox has changed and gets focus-out.
     * @event
     * @blazorProperty 'ValueChange'
     */
    change?: base.EmitType<ChangedEventArgs>;
    /**
     * Triggers when the TextBox has focus-out.
     * @event
     */
    blur?: base.EmitType<FocusOutEventArgs>;
    /**
     * Triggers when the TextBox gets focus.
     * @event
     */
    focus?: base.EmitType<FocusInEventArgs>;
    /**
     * Triggers each time when the value of TextBox has changed.
     * @event
     */
    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.
     * @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;
    /**
     * Triggers when the TextBox component is created.
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the TextBox component is destroyed.
     * @event
     * @blazorProperty 'Destroyed'
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers when the content of TextBox has changed and gets focus-out.
     * @event
     * @blazorProperty 'ValueChange'
     */
    change: base.EmitType<ChangedEventArgs>;
    /**
     * Triggers when the TextBox has focus-out.
     * @event
     */
    blur: base.EmitType<FocusOutEventArgs>;
    /**
     * Triggers when the TextBox gets focus.
     * @event
     */
    focus: base.EmitType<FocusInEventArgs>;
    /**
     * Triggers each time when the value of TextBox has changed.
     * @event
     */
    input: base.EmitType<InputEventArgs>;
    constructor(options?: TextBoxModel, element?: string | HTMLInputElement | HTMLTextAreaElement);
    /**
     * Calls internally if any of the property value is changed.
     * @private
     */
    onPropertyChanged(newProp: TextBoxModel, oldProp: TextBoxModel): void;
    /**
     * Gets the component name
     * @private
     */
    getModuleName(): string;
    private isBlank;
    protected preRender(): void;
    private checkAttributes;
    /**
     * To Initialize the control rendering
     * @private
     */
    render(): void;
    private updateHTMLAttrToWrapper;
    private updateHTMLAttrToElement;
    private setInitialValue;
    private wireEvents;
    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
     * @return {void}
     */
    destroy(): void;
    /**
     * Gets the properties to be maintained in the persisted state.
     * @return {string}
     */
    getPersistData(): string;
    /**
     * Adding the multiple attributes as key-value pair to the TextBox element.
     * @param { { [key: string]: string } } attributes - Specifies the attributes to be add to TextBox element.
     * @return {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.
     * @return {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 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;
}
/**
 * Interface for a class Uploader
 */
export interface UploaderModel extends base.ComponentModel{
    /**
     * 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.
     * @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.
     * @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-api/index.ts" %}{% endcodeBlock %}
     * 
     * {% codeBlock src="uploader/files-api/index.html" %}{% 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;
    /**
     * Triggers when the component is created.
     * @event
     * @blazorProperty 'Created' 
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers after all the selected files has processed to upload successfully or failed to server.
     * @event 
     * @blazorProperty 'OnActionComplete'
     */
    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?: base.EmitType<RenderingEventArgs>;
    /**
     * Triggers when the upload process before. This event is used to add additional parameter with upload request.
     * @event
     * @blazorProperty 'BeforeUpload'
     */
    beforeUpload?: base.EmitType<UploadingEventArgs>;
    /**
     * Triggers before rendering each file item from the file list in a page.
     * It helps to customize specific file item structure.
     * @event
     * @blazorProperty 'OnFileListRender'
     */
    fileListRendering?: base.EmitType<FileListRenderingEventArgs>;
    /**
     * Triggers after selecting or dropping the files by adding the files in upload queue.
     * @event
     * @blazorProperty 'FileSelected'
     */
    selected?: base.EmitType<SelectedEventArgs>;
    /**
     * Triggers when the upload process gets started. This event is used to add additional parameter with upload request.
     * @event
     * @blazorProperty 'OnUploadStart'
     */
    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
     * @blazorProperty 'Success'
     * @blazorType SuccessEventArgs
     */
    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/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
     * @blazorProperty 'OnFailured'
     * @blazorType FailureEventArgs
     */
    failure?: base.EmitType<Object>;
    /**
     * Triggers on removing the uploaded file. The event used to get confirm before removing the file from server.
     * @event
     * @blazorProperty 'OnRemove'
     */
    removing?: base.EmitType<RemovingEventArgs>;
    /**
     * Triggers on remove the uploaded file. The event used to get confirm before remove the file from server.
     * @event
     * @blazorProperty 'BeforeRemove'
     */
    beforeRemove?: base.EmitType<RemovingEventArgs>;
    /**
     * Triggers before clearing the items in file list when clicking “clear”.
     * @event
     * @blazorProperty 'OnClear'
     */
    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
     * @blazorProperty 'Progressing'
     * @blazorType ProgressEventArgs
     */
    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
     * @blazorProperty 'ValueChange'
     * @blazorType UploadChangeEventArgs
     */
    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
     * @blazorProperty 'OnChunkSuccess'
     * @blazorType SuccessEventArgs
     */
    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
     * @blazorProperty 'OnChunkFailured'
     * @blazorType FailureEventArgs
     */
    chunkFailure?: base.EmitType<Object>;
    /**
     * Fires when every chunk upload process gets started. This event is used to add additional parameter with upload request.
     * @event
     * @blazorProperty 'OnChunkUploadStart'
     */
    chunkUploading?: base.EmitType<UploadingEventArgs>;
    /**
     * Fires if cancel the chunk file uploading.
     * @event
     * @blazorProperty 'OnCancel'
     */
    canceling?: base.EmitType<CancelEventArgs>;
    /**
     * Fires if pause the chunk file uploading.
     * @event
     * @blazorProperty 'Paused'
     */
    pausing?: base.EmitType<PauseResumeEventArgs>;
    /**
     * Fires if resume the paused chunk file upload.
     * @event
     * @blazorProperty 'OnResume'
     */
    resuming?: base.EmitType<PauseResumeEventArgs>;
}
//node_modules/@syncfusion/ej2-inputs/src/uploader/uploader.d.ts
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.
     * @blazorType object
     */
    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;
}
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.
     * @blazorType object
     */
    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.
     * @blazorType object
     */
    customFormData: {
        [key: string]: Object;
    }[];
    /**
     * Returns the XMLHttpRequest instance that is associated with remove action.
     * @blazorType object
     */
    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.
     * @blazorType object
     */
    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.
     * @blazorType object
     */
    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 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;
    }[];
}
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;
}
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 cloneElement;
    private fileList;
    private sortFilesList;
    private actionButtons;
    private uploadButton;
    private clearButton;
    private pauseButton;
    private formElement;
    private dropAreaWrapper;
    private filesEntries;
    private filesData;
    private uploadedFilesData;
    private base64String;
    private currentRequestHeader;
    private customFormDatas;
    private dropZoneElement;
    private currentStatus;
    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;
    /**
     * 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.
     * @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.
     * @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-api/index.ts" %}{% endcodeBlock %}
     *
     * {% codeBlock src="uploader/files-api/index.html" %}{% 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;
    /**
     * Triggers when the component is created.
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Object>;
    /**
     * Triggers after all the selected files has processed to upload successfully or failed to server.
     * @event
     * @blazorProperty 'OnActionComplete'
     */
    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: base.EmitType<RenderingEventArgs>;
    /**
     * Triggers when the upload process before. This event is used to add additional parameter with upload request.
     * @event
     * @blazorProperty 'BeforeUpload'
     */
    beforeUpload: base.EmitType<UploadingEventArgs>;
    /**
     * Triggers before rendering each file item from the file list in a page.
     * It helps to customize specific file item structure.
     * @event
     * @blazorProperty 'OnFileListRender'
     */
    fileListRendering: base.EmitType<FileListRenderingEventArgs>;
    /**
     * Triggers after selecting or dropping the files by adding the files in upload queue.
     * @event
     * @blazorProperty 'FileSelected'
     */
    selected: base.EmitType<SelectedEventArgs>;
    /**
     * Triggers when the upload process gets started. This event is used to add additional parameter with upload request.
     * @event
     * @blazorProperty 'OnUploadStart'
     */
    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
     * @blazorProperty 'Success'
     * @blazorType SuccessEventArgs
     */
    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
     * @blazorProperty 'OnFailured'
     * @blazorType FailureEventArgs
     */
    failure: base.EmitType<Object>;
    /**
     * Triggers on removing the uploaded file. The event used to get confirm before removing the file from server.
     * @event
     * @blazorProperty 'OnRemove'
     */
    removing: base.EmitType<RemovingEventArgs>;
    /**
     * Triggers on remove the uploaded file. The event used to get confirm before remove the file from server.
     * @event
     * @blazorProperty 'BeforeRemove'
     */
    beforeRemove: base.EmitType<RemovingEventArgs>;
    /**
     * Triggers before clearing the items in file list when clicking “clear”.
     * @event
     * @blazorProperty 'OnClear'
     */
    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
     * @blazorProperty 'Progressing'
     * @blazorType ProgressEventArgs
     */
    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
     * @blazorProperty 'ValueChange'
     * @blazorType UploadChangeEventArgs
     */
    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
     * @blazorProperty 'OnChunkSuccess'
     * @blazorType SuccessEventArgs
     */
    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
     * @blazorProperty 'OnChunkFailured'
     * @blazorType FailureEventArgs
     */
    chunkFailure: base.EmitType<Object>;
    /**
     * Fires when every chunk upload process gets started. This event is used to add additional parameter with upload request.
     * @event
     * @blazorProperty 'OnChunkUploadStart'
     */
    chunkUploading: base.EmitType<UploadingEventArgs>;
    /**
     * Fires if cancel the chunk file uploading.
     * @event
     * @blazorProperty 'OnCancel'
     */
    canceling: base.EmitType<CancelEventArgs>;
    /**
     * Fires if pause the chunk file uploading.
     * @event
     * @blazorProperty 'Paused'
     */
    pausing: base.EmitType<PauseResumeEventArgs>;
    /**
     * Fires if resume the paused chunk file upload.
     * @event
     * @blazorProperty 'OnResume'
     */
    resuming: base.EmitType<PauseResumeEventArgs>;
    /**
     * Triggers when change the Uploader value.
     */
    constructor(options?: UploaderModel, element?: string | HTMLInputElement);
    /**
     * Calls internally if any of the property value is changed.
     * @private
     */
    onPropertyChanged(newProp: UploaderModel, oldProp: UploaderModel): void;
    private setLocalizedTexts;
    private getKeyValue;
    private updateFileList;
    private reRenderFileList;
    protected preRender(): void;
    protected getPersistData(): string;
    /**
     * Return the module name of the component.
     */
    getModuleName(): string;
    private updateDirectoryAttributes;
    /**
     * To Initialize the control rendering
     * @private
     */
    render(): void;
    private renderBrowseButton;
    private renderActionButtons;
    private wireActionButtonEvents;
    private unwireActionButtonEvents;
    private removeActionButtons;
    private renderButtonTemplates;
    private initializeUpload;
    private renderPreLoadFiles;
    private checkActionButtonStatus;
    private setDropArea;
    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 onDragLeave;
    private dragHover;
    private dropElement;
    private onPasteFile;
    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 onSelectFiles;
    private getBase64;
    private renderSelectedFiles;
    private allowUpload;
    private clearData;
    private updateSortedFileList;
    private isBlank;
    private checkExtension;
    private validatedFileSize;
    private isPreLoadFile;
    private createCustomfileList;
    private createParentUL;
    private createFileList;
    private getSlicedName;
    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
     * @return {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.
     * @returns void
     */
    upload(files?: FileInfo | FileInfo[], custom?: boolean): void;
    private validateFileType;
    private uploadFiles;
    /**
     * 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.
     * @returns FileInfo[]
     */
    getFilesData(): 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.
     * @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 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.
     * @blazorType RenderFragment
     */
    header?: string | HTMLElement;
    /**
     * Defines the template value that should be displayed as the panel's content. 
     * @blazorType RenderFragment
     */
    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
     * @blazorType int
     */
    row?: number;
    /**
     * Defines the column value where the panel to be placed.
     * @default 0
     * @aspType int
     * @blazorType 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
     * @blazorType int
     *
     */
    maxSizeY?: number;
    /**
     * Specifies the maximum width of the panel in cells count.
     * *
     * @default null
     * @aspType int
     * @blazorType int
     */
    maxSizeX?: number;
    /**
     * Specifies the z-index of the panel
     * *
     * @default 1000
     * @aspType double
     * @blazorType 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;
    /**
     * 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;
    /**
     * 
     * *
     * @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
     * @blazorProperty 'Changed'
     */
    change?: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when a panel is about to drag.
     * @event
     * @blazorProperty 'OnDragStart'
     */
    dragStart?: base.EmitType<DragStartArgs>;
    /**
     * Triggers while a panel is dragged continuously.
     * @event
     * @blazorProperty 'Dragging'
     */
    drag?: base.EmitType<DraggedEventArgs>;
    /**
     * Triggers when a dragged panel is dropped.
     * @event
     * @blazorProperty 'OnDragStop'
     */
    dragStop?: base.EmitType<DragStopArgs>;
    /**
     * Triggers when a panel is about to resize.
     * @event
     * @blazorProperty 'OnResizeStart'
     */
    resizeStart?: base.EmitType<ResizeArgs>;
    /**
     * Triggers when a panel is being resized continuously.
     * @event
     * @blazorProperty 'Resizing'
     */
    resize?: base.EmitType<ResizeArgs>;
    /**
     * Triggers when a panel resize ends.
     * @event
     * @blazorProperty 'OnResizeStop'
     */
    resizeStop?: base.EmitType<ResizeArgs>;
    /**
     * Triggers when Dashboard Layout is created.
     * @event 
     * @blazorproperty 'Created'
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when Dashboard Layout is destroyed.
     * @event 
     * @blazorproperty 'Destroyed'
     */
    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.
     * @blazorType RenderFragment
     */
    header: string | HTMLElement;
    /**
     * Defines the template value that should be displayed as the panel's content.
     * @blazorType RenderFragment
     */
    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
     * @blazorType int
     */
    row: number;
    /**
     * Defines the column value where the panel to be placed.
     * @default 0
     * @aspType int
     * @blazorType 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
     * @blazorType int
     *
     */
    maxSizeY: number;
    /**
     * Specifies the maximum width of the panel in cells count.
     * *
     * @default null
     * @aspType int
     * @blazorType int
     */
    maxSizeX: number;
    /**
     * Specifies the z-index of the panel
     * *
     * @default 1000
     * @aspType double
     * @blazorType 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 isDynamicallyUpdated: boolean;
    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 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[] | string[];
    protected table: HTMLElement;
    protected cloneObject: {
        [key: string]: {
            row: number;
            col: number;
        };
    };
    private panelsInitialModel;
    protected isRenderComplete: boolean;
    protected isMouseUpBound: boolean;
    /**
     * 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;
    /**
     * 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;
    /**
     *
     * *
     * @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
     * @blazorProperty 'Changed'
     */
    change: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when a panel is about to drag.
     * @event
     * @blazorProperty 'OnDragStart'
     */
    dragStart: base.EmitType<DragStartArgs>;
    /**
     * Triggers while a panel is dragged continuously.
     * @event
     * @blazorProperty 'Dragging'
     */
    drag: base.EmitType<DraggedEventArgs>;
    /**
     * Triggers when a dragged panel is dropped.
     * @event
     * @blazorProperty 'OnDragStop'
     */
    dragStop: base.EmitType<DragStopArgs>;
    /**
     * Triggers when a panel is about to resize.
     * @event
     * @blazorProperty 'OnResizeStart'
     */
    resizeStart: base.EmitType<ResizeArgs>;
    /**
     * Triggers when a panel is being resized continuously.
     * @event
     * @blazorProperty 'Resizing'
     */
    resize: base.EmitType<ResizeArgs>;
    /**
     * Triggers when a panel resize ends.
     * @event
     * @blazorProperty 'OnResizeStop'
     */
    resizeStop: base.EmitType<ResizeArgs>;
    /**
     * Triggers when Dashboard Layout is created.
     * @event
     * @blazorproperty 'Created'
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when Dashboard Layout is destroyed.
     * @event
     * @blazorproperty 'Destroyed'
     */
    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): 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, e: HTMLElement): 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): 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, type: string): 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, element: HTMLElement): HTMLElement[];
    protected swapAvailability(collisions: HTMLElement[], element: HTMLElement): boolean;
    protected checkForSwapping(collisions: HTMLElement[], element: HTMLElement, panelModel: PanelModel): 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 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 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: [`PanelModel`](./panelModel)} panel -  Defines the panel element.
     * @returns void
     */
    addPanel(panel: PanelModel): void;
    /**
     * Allows to update a panel in the DashboardLayout.
     * @param {panel: [`panelModel`](./panelModel)} panel - Defines the panel element.
     * @returns void
     */
    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 {id: 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 {id: string} id - Defines the panel ID.
     * @param {row: number} row - Defines the row of dashboard layout.
     * @param {col: 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 {id: string} id - Defines the panel ID.
     * @param {sizeX: number} sizeX - Defines the sizeX of dashboard layout.
     * @param {sizeY: number} sizeY - Defines the sizeY of dashboard layout.
     */
    resizePanel(id: string, sizeX: number, sizeY: number): void;
    /**
     * Destroys the DashboardLayout component
     * @returns void
     */
    destroy(): void;
    protected setEnableRtl(): void;
    protected getDragInstance(id: string): base.Draggable;
    /**
     * 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
     */
    getPersistData(): string;
    /**
     * 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[];
}
/**
 * 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;
}
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.
     * @default false
     */
    collapsible?: boolean;
    /**
     * Specifies whether a pane is collapsed or not collapsed at the initial rendering of splitter.
     * @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;
}
/**
 * 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 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;
    /**
     * Configures the individual pane behaviors such as content, size, resizable, minimum, maximum validation, collapsible and collapsed.
     * @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.
     * @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;
    /**
     * 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;
    /**
     * Triggers after creating the splitter component with its panes.
     * @event
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the split pane is started to resize.
     * @event
     * @blazorProperty 'OnResizeStart'
     */
    resizeStart?: base.EmitType<ResizeEventArgs>;
    /**
     * Triggers when a split pane is being resized.
     * @event
     * @blazorProperty 'Resizing'
     */
    resizing?: base.EmitType<ResizingEventArgs>;
    /**
     * Triggers when the resizing of split pane is stopped.
     * @event
     * @blazorProperty 'OnResizeStop'
     */
    resizeStop?: base.EmitType<ResizingEventArgs>;
    /**
     * Triggers when before panes get collapsed.
     * @event 
     * @blazorProperty 'OnCollapse'
     */
    beforeCollapse?: base.EmitType<BeforeExpandEventArgs>;
    /**
     * Triggers when before panes get expanded.
     * @event 
     * @blazorProperty 'OnExpand'
     */
    beforeExpand?: base.EmitType<BeforeExpandEventArgs>;
    /**
     * Triggers when after panes get collapsed.
     * @event 
     * @blazorProperty 'Collapsed'
     */
    collapsed?: base.EmitType<ExpandedEventArgs>;
    /**
     * Triggers when after panes get expanded.
     * @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.
     * @default false
     */
    collapsible: boolean;
    /**
     * Specifies whether a pane is collapsed or not collapsed at the initial rendering of splitter.
     * @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 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 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;
    /**
     * Specifies the height of the Splitter component that accepts both string and number values.
     * @default '100%'
     */
    height: string;
    /**
     * 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;
    /**
     * Configures the individual pane behaviors such as content, size, resizable, minimum, maximum validation, collapsible and collapsed.
     * @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.
     * @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;
    /**
     * 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;
    /**
     * Triggers after creating the splitter component with its panes.
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the split pane is started to resize.
     * @event
     * @blazorProperty 'OnResizeStart'
     */
    resizeStart: base.EmitType<ResizeEventArgs>;
    /**
     * Triggers when a split pane is being resized.
     * @event
     * @blazorProperty 'Resizing'
     */
    resizing: base.EmitType<ResizingEventArgs>;
    /**
     * Triggers when the resizing of split pane is stopped.
     * @event
     * @blazorProperty 'OnResizeStop'
     */
    resizeStop: base.EmitType<ResizingEventArgs>;
    /**
     * Triggers when before panes get collapsed.
     * @event
     * @blazorProperty 'OnCollapse'
     */
    beforeCollapse: base.EmitType<BeforeExpandEventArgs>;
    /**
     * Triggers when before panes get expanded.
     * @event
     * @blazorProperty 'OnExpand'
     */
    beforeExpand: base.EmitType<BeforeExpandEventArgs>;
    /**
     * Triggers when after panes get collapsed.
     * @event
     * @blazorProperty 'Collapsed'
     */
    collapsed: base.EmitType<ExpandedEventArgs>;
    /**
     * Triggers when after panes get expanded.
     * @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
     * @param  {SplitterModel} oldProp
     * @returns void
     * @private
     */
    onPropertyChanged(newProp: SplitterModel, oldProp: SplitterModel): void;
    protected preRender(): void;
    protected getPersistData(): string;
    /**
     * Returns the current module name.
     * @returns string
     * @private
     */
    protected getModuleName(): string;
    /**
     * To Initialize the control rendering
     * @private
     */
    render(): void;
    private onDocumentClick;
    private checkDataAttributes;
    private destroyPaneSettings;
    private setPaneSettings;
    private checkArrow;
    private removeDataPrefix;
    private setRTL;
    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 addResizeHandler;
    private getHeight;
    private getWidth;
    private setDimension;
    private updateCollapseIcons;
    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 wireResizeEvents;
    private unwireResizeEvents;
    private wireClickEvents;
    private clickHandler;
    private expandAction;
    private hideTargetBarIcon;
    private showTargetBarIcon;
    private updateIconsOnCollapse;
    private collapseAction;
    private beforeAction;
    private splitterProperty;
    private showCurrentBarIcon;
    private updateIconsOnExpand;
    private afterAction;
    private currentIndex;
    private getSeparatorIndex;
    private getPrevBar;
    private getNextBar;
    private updateBars;
    private splitterDetails;
    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 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;
}
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;
}
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;
}
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;
}
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 {
    private gauge;
    constructor(gauge: LinearGauge);
    /**
     * To render annotation elements
     */
    renderAnnotationElements(): void;
    /**
     * To create annotation elements
     */
    createAnnotationTemplate(element: HTMLElement, annotationIndex: number): void;
    protected getModuleName(): string;
    /**
     * To destroy the annotation.
     * @return {void}
     * @private
     */
    destroy(gauge: LinearGauge): 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 {
    /**
     * The dash array of the axis line.
     */
    dashArray?: string;
    /**
     * Height of the axis line.
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     */
    height?: number;
    /**
     * Width of the axis line.
     * @default 2
     */
    width?: number;
    /**
     * Color of the axis line.
     */
    color?: string;
    /**
     * Specifies to move the axis line.
     * @blazorDefaultValue 0
     */
    offset?: number;
}
/**
 * Interface for a class Label
 */
export interface LabelModel {
    /**
     * The font of the axis labels.
     */
    font?: FontModel;
    /**
     * The color of the label, based on range color.
     * @default false
     */
    useRangeColor?: boolean;
    /**
     * To format the axis label, which 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;
    /**
     * To move the axis labels.
     * @default 0
     */
    offset?: number;
}
/**
 * Interface for a class Range
 */
export interface RangeModel {
    /**
     * Start of the axis range.
     * @default 0
     */
    start?: number;
    /**
     * End of the axis range.
     * @default 0
     */
    end?: number;
    /**
     * Specifies to position the axis range.
     * @default Outside
     */
    position?: Position;
    /**
     * Color of the axis range.
     */
    color?: string;
    /**
     * Starting width of axis range.
     * @default 10
     */
    startWidth?: number;
    /**
     * Ending width of axis range.
     * @default 10
     */
    endWidth?: number;
    /**
     * Specifies to move the axis range.
     * @default 0
     */
    offset?: number;
    /**
     * Specifies the border of axis range.
     */
    border?: BorderModel;
}
/**
 * Interface for a class Tick
 */
export interface TickModel {
    /**
     * Height of the tick line.
     */
    height?: number;
    /**
     * Width of the tick line. 
     * @default 2
     */
    width?: number;
    /**
     * Specifies the interval for ticks.
     * @aspDefaultValueIgnore
     */
    interval?: number;
    /**
     * The color of the major or minor tick line, which accepts value in hex, rgba as a valid CSS color string.
     */
    color?: string;
    /**
     * Specifies to move the axis ticks.
     * @aspDefaultValueIgnore
     */
    offset?: number;
}
/**
 * Interface for a class Pointer
 */
export interface PointerModel {
    /**
     * Specifies the type of pointer.
     * @default Marker
     */
    type?: Point;
    /**
     * Specifies value of the pointer.
     * @blazorDefaultValue 0
     * @default null
     */
    value?: number;
    /**
     * Specifies the marker shape in pointer.
     * @default InvertedTriangle
     */
    markerType?: MarkerType;
    /**
     * Specifies the path of image.
     * @default null
     */
    imageUrl?: string;
    /**
     * Specifies the border of pointer.
     */
    border?: BorderModel;
    /**
     * Specifies the corner radius for rounded rectangle.
     * @default 10
     */
    roundedCornerRadius?: number;
    /**
     * Specifies the place of the pointer.
     * @default Far
     */
    placement?: Placement;
    /**
     * Specifies the height of pointer.
     * @default 20
     */
    height?: number;
    /**
     * Specifies the width of pointer.
     * @default 20
     */
    width?: number;
    /**
     * Specifies the color of the pointer.
     */
    color?: string;
    /**
     * Specifies the opacity for pointer.
     * @default 1
     */
    opacity?: number;
    /**
     * Specifies the animating duration of pointer in milliseconds.
     * @default 0
     */
    animationDuration?: number;
    /**
     * Specifies the enable or disable the pointer drag.
     * @default false
     */
    enableDrag?: boolean;
    /**
     * Specifies to move the pointer.
     * @default 0
     */
    offset?: number;
    /**
     * Description of the pointer.
     * @default null
     */
    description?: string;
}
/**
 * Interface for a class Axis
 */
export interface AxisModel {
    /**
     * Specifies the minimum value of an axis.
     * @default 0
     */
    minimum?: number;
    /**
     * Specifies the maximum value of an axis.
     * @default 100
     */
    maximum?: number;
    /**
     * Specifies the axis rendering direction.
     */
    isInversed?: boolean;
    /**
     * Specifies the axis rendering position.
     */
    opposedPosition?: boolean;
    /**
     * Options for customizing the axis line.
     */
    line?: LineModel;
    /**
     * Options for customizing the ranges of an axis
     */
    ranges?: RangeModel[];
    /**
     * Options for customizing the pointers of an axis
     */
    pointers?: PointerModel[];
    /**
     * Options for customizing the major tick lines.
     */
    majorTicks?: TickModel;
    /**
     * Options for customizing the minor tick lines.
     */
    minorTicks?: TickModel;
    /**
     * Options for customizing the axis label appearance.
     */
    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 htmlObject;
    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;
}
//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): void;
    drawAxisLabels(axis: Axis, axisObject: Element): 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;
}
//node_modules/@syncfusion/ej2-lineargauge/src/linear-gauge/axes/axis.d.ts
/** Options for customizing the axis line. */
export  class Line extends base.ChildProperty<Line> {
    /**
     * The dash array of the axis line.
     */
    dashArray: string;
    /**
     * Height of the axis line.
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     */
    height: number;
    /**
     * Width of the axis line.
     * @default 2
     */
    width: number;
    /**
     * Color of the axis line.
     */
    color: string;
    /**
     * Specifies to move the axis line.
     * @blazorDefaultValue 0
     */
    offset: number;
}
/**
 * Options for customizing the axis labels appearance.
 */
export  class Label extends base.ChildProperty<Label> {
    /**
     * The font of the axis labels.
     */
    font: FontModel;
    /**
     * The color of the label, based on range color.
     * @default false
     */
    useRangeColor: boolean;
    /**
     * To format the axis label, which 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;
    /**
     * To move the axis labels.
     * @default 0
     */
    offset: number;
}
/**
 * Options for customizing the ranges of an axis.
 */
export  class Range extends base.ChildProperty<Range> {
    /**
     * Start of the axis range.
     * @default 0
     */
    start: number;
    /**
     * End of the axis range.
     * @default 0
     */
    end: number;
    /**
     * Specifies to position the axis range.
     * @default Outside
     */
    position: Position;
    /**
     * Color of the axis range.
     */
    color: string;
    /**
     * Starting width of axis range.
     * @default 10
     */
    startWidth: number;
    /**
     * Ending width of axis range.
     * @default 10
     */
    endWidth: number;
    /**
     * Specifies to move the axis range.
     * @default 0
     */
    offset: number;
    /**
     * Specifies the border of axis range.
     */
    border: BorderModel;
    /** @private */
    bounds: Rect;
    /** @private */
    path: string;
    /** @private */
    interior: string;
}
/**
 * Options for customizing the minor tick lines.
 */
export  class Tick extends base.ChildProperty<Tick> {
    /**
     * Height of the tick line.
     */
    height: number;
    /**
     * Width of the tick line.
     * @default 2
     */
    width: number;
    /**
     * Specifies the interval for ticks.
     * @aspDefaultValueIgnore
     */
    interval: number;
    /**
     * The color of the major or minor tick line, which accepts value in hex, rgba as a valid CSS color string.
     */
    color: string;
    /**
     * Specifies to move the axis ticks.
     * @aspDefaultValueIgnore
     */
    offset: number;
}
/**
 * Options for customizing the pointers of an axis.
 */
export  class Pointer extends base.ChildProperty<Pointer> {
    /**
     * Specifies the type of pointer.
     * @default Marker
     */
    type: Point;
    /**
     * Specifies value of the pointer.
     * @blazorDefaultValue 0
     * @default null
     */
    value: number;
    /**
     * Specifies the marker shape in pointer.
     * @default InvertedTriangle
     */
    markerType: MarkerType;
    /**
     * Specifies the path of image.
     * @default null
     */
    imageUrl: string;
    /**
     * Specifies the border of pointer.
     */
    border: BorderModel;
    /**
     * Specifies the corner radius for rounded rectangle.
     * @default 10
     */
    roundedCornerRadius: number;
    /**
     * Specifies the place of the pointer.
     * @default Far
     */
    placement: Placement;
    /**
     * Specifies the height of pointer.
     * @default 20
     */
    height: number;
    /**
     * Specifies the width of pointer.
     * @default 20
     */
    width: number;
    /**
     * Specifies the color of the pointer.
     */
    color: string;
    /**
     * Specifies the opacity for pointer.
     * @default 1
     */
    opacity: number;
    /**
     * Specifies the animating duration of pointer in milliseconds.
     * @default 0
     */
    animationDuration: number;
    /**
     * Specifies the enable or disable the pointer drag.
     * @default false
     */
    enableDrag: boolean;
    /**
     * Specifies to move the pointer.
     * @default 0
     */
    offset: number;
    /**
     * Description of the pointer.
     * @default null
     */
    description: string;
    /** @private */
    bounds: Rect;
    /** @private */
    startValue: number;
    /** @private */
    animationComplete: boolean;
    /** @private */
    currentValue: number;
}
/**
 * Options for customizing the axis of a gauge.
 */
export  class Axis extends base.ChildProperty<Axis> {
    /**
     * Specifies the minimum value of an axis.
     * @default 0
     */
    minimum: number;
    /**
     * Specifies the maximum value of an axis.
     * @default 100
     */
    maximum: number;
    /**
     * Specifies the axis rendering direction.
     */
    isInversed: boolean;
    /**
     * Specifies the axis rendering position.
     */
    opposedPosition: boolean;
    /**
     * Options for customizing the axis line.
     */
    line: LineModel;
    /**
     * Options for customizing the ranges of an axis
     */
    ranges: RangeModel[];
    /**
     * Options for customizing the pointers of an axis
     */
    pointers: PointerModel[];
    /**
     * Options for customizing the major tick lines.
     */
    majorTicks: TickModel;
    /**
     * Options for customizing the minor tick lines.
     */
    minorTicks: TickModel;
    /**
     * Options for customizing the axis label appearance.
     */
    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/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{
    /**
     * 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;
    /**
     * 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 gauge will rendered either horizontal or vertical orientation.
     * @default Vertical
     */
    orientation?: Orientation;
    /**
     *  Options to customize the left, right, top and bottom margins of the gauge.
     */
    margin?: MarginModel;
    /**
     * Options for customizing the color and width of the gauge border.
     */
    border?: BorderModel;
    /**
     * The background color of the gauge, which accepts value in hex, rgba as a valid CSS color string.
     * @default 'transparent'
     */
    background?: string;
    /**
     * Specifies the title for linear gauge.
     */
    title?: string;
    /**
     * Options for customizing the title appearance of linear gauge.
     */
    titleStyle?: FontModel;
    /**
     * Options for customizing the container linear gauge.
     */
    container?: ContainerModel;
    /**
     *  Options for customizing the axes of linear gauge.
     */
    axes?: AxisModel[];
    /**
     * Options for customizing the tooltip in linear gauge.
     */
    tooltip?: TooltipSettingsModel;
    /**
     *  Options for customizing the annotation of linear gauge.
     */
    annotations?: AnnotationModel[];
    /**
     * Specifies color palette for axis ranges.
     * @default []
     */
    rangePalettes?: string[];
    /**
     * Specifies whether a grouping separator should be used for a number.
     * @default false
     */
    useGroupingSeparator?: boolean;
    /**
     * Specifies the description for linear gauge.
     * @default null
     */
    description?: string;
    /**
     * TabIndex value for the gauge.
     * @default 1
     */
    tabIndex?: number;
    /**
     * To apply internationalization for gauge
     * @default null
     */
    format?: string;
    /**
     * Specifies the theme for the maps.
     * @default Material
     */
    theme?: LinearGaugeTheme;
    /**
     * Triggers after gauge loaded.
     * @event
     * @blazorProperty 'Loaded'
     */
    loaded?: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers before gauge load.
     * @event
     * @blazorProperty 'OnLoad'
     */
    load?: base.EmitType<ILoadEventArgs>;
    /**
     * Triggers after complete the animation for pointer.
     * @event
     * @blazorProperty 'AnimationCompleted'
     */
    animationComplete?: base.EmitType<IAnimationCompleteEventArgs>;
    /**
     * Triggers before each axis label gets rendered.
     * @event
     * @deprecated
     * @blazorProperty 'AxisLabelRendering'
     */
    axisLabelRender?: base.EmitType<IAxisLabelRenderEventArgs>;
    /**
     * Triggers before each annotation gets rendered.
     * @event
     * @blazorProperty 'AnnotationRendering'
     */
    annotationRender?: base.EmitType<IAnnotationRenderEventArgs>;
    /**
     * Triggers before the tooltip get rendered.
     * @event
     * @deprecated
     * @blazorProperty 'TooltipRendering'
     */
    tooltipRender?: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * Triggers when mouse move on gauge area.
     * @event
     * @blazorProperty 'OnGaugeMouseMove'
     */
    gaugeMouseMove?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when mouse leave from the gauge area .
     * @event
     * @blazorProperty 'OnGaugeMouseLeave'
     */
    gaugeMouseLeave?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when mouse down on gauge area.
     * @event
     * @blazorProperty 'OnGaugeMouseDown'
     */
    gaugeMouseDown?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when mouse up on gauge area.
     * @event
     * @blazorProperty 'OnGaugeMouseUp'
     */
    gaugeMouseUp?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers while drag the pointer.
     * @event
     * @deprecated
     * @blazorProperty 'ValueChange'
     */
    valueChange?: base.EmitType<IValueChangeEventArgs>;
    /**
     * Triggers after window resize.
     * @event
     * @blazorProperty 'Resizing'
     */
    resized?: base.EmitType<IResizeEventArgs>;
}
//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 {
    /**
     *  annotationModule is used to place the any text or images into the gauge.
     */
    annotationsModule: Annotations;
    /**
     * tooltipModule is used to display the pointer value.
     */
    tooltipModule: GaugeTooltip;
    /**
     * 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;
    /**
     * 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 gauge will rendered either horizontal or vertical orientation.
     * @default Vertical
     */
    orientation: Orientation;
    /**
     *  Options to customize the left, right, top and bottom margins of the gauge.
     */
    margin: MarginModel;
    /**
     * Options for customizing the color and width of the gauge border.
     */
    border: BorderModel;
    /**
     * The background color of the gauge, which accepts value in hex, rgba as a valid CSS color string.
     * @default 'transparent'
     */
    background: string;
    /**
     * Specifies the title for linear gauge.
     */
    title: string;
    /**
     * Options for customizing the title appearance of linear gauge.
     */
    titleStyle: FontModel;
    /**
     * Options for customizing the container linear gauge.
     */
    container: ContainerModel;
    /**
     *  Options for customizing the axes of linear gauge.
     */
    axes: AxisModel[];
    /**
     * Options for customizing the tooltip in linear gauge.
     */
    tooltip: TooltipSettingsModel;
    /**
     *  Options for customizing the annotation of linear gauge.
     */
    annotations: AnnotationModel[];
    /**
     * Specifies color palette for axis ranges.
     * @default []
     */
    rangePalettes: string[];
    /**
     * Specifies whether a grouping separator should be used for a number.
     * @default false
     */
    useGroupingSeparator: boolean;
    /**
     * Specifies the description for linear gauge.
     * @default null
     */
    description: string;
    /**
     * TabIndex value for the gauge.
     * @default 1
     */
    tabIndex: number;
    /**
     * To apply internationalization for gauge
     * @default null
     */
    format: string;
    /**
     * Specifies the theme for the maps.
     * @default Material
     */
    theme: LinearGaugeTheme;
    /**
     * Triggers after gauge loaded.
     * @event
     * @blazorProperty 'Loaded'
     */
    loaded: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers before gauge load.
     * @event
     * @blazorProperty 'OnLoad'
     */
    load: base.EmitType<ILoadEventArgs>;
    /**
     * Triggers after complete the animation for pointer.
     * @event
     * @blazorProperty 'AnimationCompleted'
     */
    animationComplete: base.EmitType<IAnimationCompleteEventArgs>;
    /**
     * Triggers before each axis label gets rendered.
     * @event
     * @deprecated
     * @blazorProperty 'AxisLabelRendering'
     */
    axisLabelRender: base.EmitType<IAxisLabelRenderEventArgs>;
    /**
     * Triggers before each annotation gets rendered.
     * @event
     * @blazorProperty 'AnnotationRendering'
     */
    annotationRender: base.EmitType<IAnnotationRenderEventArgs>;
    /**
     * Triggers before the tooltip get rendered.
     * @event
     * @deprecated
     * @blazorProperty 'TooltipRendering'
     */
    tooltipRender: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * Triggers when mouse move on gauge area.
     * @event
     * @blazorProperty 'OnGaugeMouseMove'
     */
    gaugeMouseMove: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when mouse leave from the gauge area .
     * @event
     * @blazorProperty 'OnGaugeMouseLeave'
     */
    gaugeMouseLeave: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when mouse down on gauge area.
     * @event
     * @blazorProperty 'OnGaugeMouseDown'
     */
    gaugeMouseDown: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers when mouse up on gauge area.
     * @event
     * @blazorProperty 'OnGaugeMouseUp'
     */
    gaugeMouseUp: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers while drag the pointer.
     * @event
     * @deprecated
     * @blazorProperty 'ValueChange'
     */
    valueChange: base.EmitType<IValueChangeEventArgs>;
    /**
     * Triggers after window resize.
     * @event
     * @blazorProperty 'Resizing'
     */
    resized: base.EmitType<IResizeEventArgs>;
    /** @private */
    renderer: svgBase.SvgRenderer;
    /** @private */
    svgObject: Element;
    /** @private */
    availableSize: Size;
    /** @private */
    actualRect: Rect;
    /** @private */
    intl: base.Internationalization;
    /** @private* */
    containerBounds: Rect;
    /**
     * @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 */
    mouseX: number;
    /** @private */
    mouseY: number;
    /** @private */
    mouseElement: Element;
    /** @private */
    gaugeResized: boolean;
    /** @private */
    nearSizes: number[];
    /** @private */
    farSizes: number[];
    /**
     * @private
     */
    themeStyle: IThemeStyle;
    /** @private */
    isBlazor: boolean;
    /**
     * @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;
    /**
     * 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;
    /**
     * 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;
    /**
     * 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;
    /**
     * To set the pointer value using this method
     * @param axisIndex
     * @param pointerIndex
     * @param value
     */
    setPointerValue(axisIndex: number, pointerIndex: number, value: number): void;
    /**
     * To set the annotation value using this method.
     * @param annotationIndex
     * @param content
     */
    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 {
    /**
     * Font size for text.
     */
    size?: string;
    /**
     * Color for text.
     */
    color?: string;
    /**
     * FontFamily for text.
     */
    fontFamily?: string;
    /**
     * FontWeight for text.
     */
    fontWeight?: string;
    /**
     * FontStyle for text.
     */
    fontStyle?: string;
    /**
     * Opacity for text.
     * @blazorDefaultValue 1
     */
    opacity?: number;
}
/**
 * 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, which accepts value in hex, rgba as a valid CSS color string.
     */
    color?: string;
    /**
     * The width of the border in pixels.
     * @default 0
     */
    width?: number;
}
/**
 * Interface for a class Annotation
 */
export interface AnnotationModel {
    /**
     * Specifies the id of html element.
     */
    content?: string;
    /**
     * Specifies the position of x.
     */
    x?: number;
    /**
     * Specifies the position of y.
     */
    y?: number;
    /**
     * Specifies the vertical alignment of annotation.
     * @default None
     */
    verticalAlignment?: Placement;
    /**
     * Specifies the horizontal alignment of annotation.
     * @default None
     */
    horizontalAlignment?: Placement;
    /**
     * Specifies the zIndex of the annotation.
     * @default '-1'
     */
    zIndex?: string;
    /**
     * The font of the axis labels.
     */
    font?: FontModel;
    /**
     * Specifies the index of axis.
     * @aspDefaultValueIgnore
     */
    axisIndex?: number;
    /**
     * Specifies the value of axis.
     * @aspDefaultValueIgnore
     * @blazorDefaultValue null
     */
    axisValue?: number;
}
/**
 * Interface for a class Container
 */
export interface ContainerModel {
    /**
     * Specifies the type of container.
     * @default Normal
     */
    type?: ContainerType;
    /**
     * Specifies the height of the container.
     * @default 0
     */
    height?: number;
    /**
     * Specifies the width of the container.
     * @default 0
     */
    width?: number;
    /**
     * Specifies the corner radius for rounded rectangle.
     * @default 10
     */
    roundedCornerRadius?: number;
    /**
     * Specifies the background of the color.
     */
    backgroundColor?: string;
    /**
     * Specifies the border of container.
     */
    border?: BorderModel;
    /**
     * Specifies to move the container.
     * @blazorDefaultValue 0
     */
    offset?: number;
}
/**
 * Interface for a class TooltipSettings
 */
export interface TooltipSettingsModel {
    /**
     * Enable / Disable the visibility of tooltip.
     * @default false
     */
    enable?: boolean;
    /**
     * The fill color of the tooltip, which accepts value in hex, rgba as a valid CSS color string. 
     */
    fill?: string;
    /**
     * Options to customize the tooltip text.
     */
    textStyle?: FontModel;
    /**
     * Format of the tooltip content.
     * @default null
     */
    format?: string;
    /**
     * 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;
    /**
     * If set true, tooltip will animate, while moving from one point to another.
     * @default true
     */
    enableAnimation?: boolean;
    /**
     * Options to customize the border for tooltip.
     */
    border?: BorderModel;
}
//node_modules/@syncfusion/ej2-lineargauge/src/linear-gauge/model/base.d.ts
/**
 * Options for customizing the fonts.
 */
export  class Font extends base.ChildProperty<Font> {
    /**
     * Font size for text.
     */
    size: string;
    /**
     * Color for text.
     */
    color: string;
    /**
     * FontFamily for text.
     */
    fontFamily: string;
    /**
     * FontWeight for text.
     */
    fontWeight: string;
    /**
     * FontStyle for text.
     */
    fontStyle: string;
    /**
     * Opacity for text.
     * @blazorDefaultValue 1
     */
    opacity: number;
}
/**
 * Configures the margin of linear gauge.
 */
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 border in linear gauge.
 */
export  class Border extends base.ChildProperty<Border> {
    /**
     * The color of the border, which accepts value in hex, rgba as a valid CSS color string.
     */
    color: string;
    /**
     * The width of the border in pixels.
     * @default 0
     */
    width: number;
}
/**
 * Options for customizing the annotation.
 */
export  class Annotation extends base.ChildProperty<Annotation> {
    /**
     * Specifies the id of html element.
     */
    content: string;
    /**
     * Specifies the position of x.
     */
    x: number;
    /**
     * Specifies the position of y.
     */
    y: number;
    /**
     * Specifies the vertical alignment of annotation.
     * @default None
     */
    verticalAlignment: Placement;
    /**
     * Specifies the horizontal alignment of annotation.
     * @default None
     */
    horizontalAlignment: Placement;
    /**
     * Specifies the zIndex of the annotation.
     * @default '-1'
     */
    zIndex: string;
    /**
     * The font of the axis labels.
     */
    font: FontModel;
    /**
     * Specifies the index of axis.
     * @aspDefaultValueIgnore
     */
    axisIndex: number;
    /**
     * Specifies the value of axis.
     * @aspDefaultValueIgnore
     * @blazorDefaultValue null
     */
    axisValue: number;
}
/**
 * Options for customizing the container of linear gauge.
 */
export  class Container extends base.ChildProperty<Container> {
    /**
     * Specifies the type of container.
     * @default Normal
     */
    type: ContainerType;
    /**
     * Specifies the height of the container.
     * @default 0
     */
    height: number;
    /**
     * Specifies the width of the container.
     * @default 0
     */
    width: number;
    /**
     * Specifies the corner radius for rounded rectangle.
     * @default 10
     */
    roundedCornerRadius: number;
    /**
     * Specifies the background of the color.
     */
    backgroundColor: string;
    /**
     * Specifies the border of container.
     */
    border: BorderModel;
    /**
     * Specifies to move the container.
     * @blazorDefaultValue 0
     */
    offset: number;
}
/**
 * Options for customizing the tooltip in linear gauge.
 */
export  class TooltipSettings extends base.ChildProperty<TooltipSettings> {
    /**
     * Enable / Disable the visibility of tooltip.
     * @default false
     */
    enable: boolean;
    /**
     * The fill color of the tooltip, which accepts value in hex, rgba as a valid CSS color string.
     */
    fill: string;
    /**
     * Options to customize the tooltip text.
     */
    textStyle: FontModel;
    /**
     * Format of the tooltip content.
     * @default null
     */
    format: string;
    /**
     * 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;
    /**
     * If set true, tooltip will animate, while moving from one point to another.
     * @default true
     */
    enableAnimation: boolean;
    /**
     * Options to customize the border for tooltip.
     */
    border: BorderModel;
}
//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 valueChange: string;
/** @private */
export  const resized: string;
//node_modules/@syncfusion/ej2-lineargauge/src/linear-gauge/model/interface.d.ts
/**
 * @private
 * Specifies LienarGauge Events
 */
/** @private */
export interface ILinearGaugeEventArgs {
    name: string;
    cancel: boolean;
}
/**
 * Gauge Loaded event arguments
 */
export interface ILoadedEventArgs extends ILinearGaugeEventArgs {
    /**
     * event argument gauge
     */
    gauge: LinearGauge;
}
/**
 * Gauge Load event arguments
 */
export interface ILoadEventArgs extends ILinearGaugeEventArgs {
    /**
     * event argument gauge
     */
    gauge: LinearGauge;
}
/**
 * Gauge animation completed event arguments
 */
export interface IAnimationCompleteEventArgs extends ILinearGaugeEventArgs {
    /**
     * event argument axis
     */
    axis: Axis;
    /**
     * event argument pointer
     */
    pointer: Pointer;
}
/**
 * Gauge axis label rendering event arguments
 * @deprecated
 */
export interface IAxisLabelRenderEventArgs extends ILinearGaugeEventArgs {
    /**
     * event argument axis
     */
    axis: Axis;
    /**
     * event argument text
     */
    text: string;
    /**
     * event argument value
     */
    value: number;
}
/**
 * Gauge tooltip event arguments
 * @deprecated
 */
export interface ITooltipRenderEventArgs extends ILinearGaugeEventArgs {
    /**
     * Instance of linear gauge component.
     */
    gauge: LinearGauge;
    /**
     * Tooltip event
     */
    event: PointerEvent;
    /**
     * Render the tooltip content
     */
    content?: string;
    /**
     * Tooltip configuration
     */
    tooltip?: TooltipSettings;
    /**
     * Render the tooltip location
     */
    location?: GaugeLocation;
    /**
     * event argument axis
     */
    axis: Axis;
    /**
     * event argument pointer
     */
    pointer: Pointer;
}
/**
 * Gauge annotation render event arguments
 */
export interface IAnnotationRenderEventArgs extends ILinearGaugeEventArgs {
    /**
     * event argument content
     */
    content?: string;
    /**
     * event argument text style
     */
    textStyle?: FontModel;
    /**
     * event argument annotation
     */
    annotation: Annotation;
}
/**
 * Gauge mouse events args
 */
export interface IMouseEventArgs extends ILinearGaugeEventArgs {
    /**
     * event argument linear gauge model
     */
    model?: LinearGauge;
    /**
     * event argument target
     */
    target: Element;
    /**
     * event argument x position
     */
    x: number;
    /**
     * event argument y position
     */
    y: number;
}
/**
 * Gauge resize event arguments
 */
export interface IResizeEventArgs {
    /**
     * event name
     */
    name: string;
    /**
     * event argument previous size
     */
    previousSize: Size;
    /**
     * event argument current size
     */
    currentSize: Size;
    /**
     * event argument gauge
     */
    gauge: LinearGauge;
}
/**
 * Gauge value change event arguments
 */
export interface IValueChangeEventArgs {
    /**
     * event name
     */
    name: string;
    /**
     * event argument gauge
     */
    gauge?: LinearGauge;
    /**
     * event argument element
     */
    element: Element;
    /**
     * event argument axis index
     */
    axisIndex: number;
    /**
     * event argument axis
     */
    axis?: Axis;
    /**
     * event argument pointer index
     */
    pointerIndex: number;
    /**
     * event argument pointer
     */
    pointer?: Pointer;
    /**
     * event argument value
     */
    value: number;
}
/** @private */
export interface IVisiblePointer {
    axis?: Axis;
    axisIndex?: number;
    pointer?: Pointer;
    pointerIndex?: number;
}
/** @private */
export interface IMoveCursor {
    pointer?: boolean;
    style?: string;
}
export interface IThemeStyle {
    backgroundColor: string;
    titleFontColor: string;
    tooltipFillColor: string;
    tooltipFontColor: string;
    lineColor: string;
    labelColor: string;
    majorTickColor: string;
    minorTickColor: string;
    pointerColor: string;
    fontFamily?: string;
    fontSize?: string;
    labelFontFamily?: string;
    tooltipFillOpacity?: number;
    tooltipTextOpacity?: number;
    containerBackground?: string;
}
//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 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 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;
    /**
     * To destroy the tooltip.
     * @return {void}
     * @private
     */
    destroy(gauge: LinearGauge): void;
}
//node_modules/@syncfusion/ej2-lineargauge/src/linear-gauge/utils/enum.d.ts
/**
 * Defines Position of axis. They are
 * * Inside
 * * Outside
 * @private
 */
export  type Position = 
/**  Inside of Axis. */
'Inside' | 
/**  Outside of Axis. */
'Outside';
/**
 * Defines type of pointer. They are
 * * Marker
 * * Bar
 * @private
 */
export  type Point = 
/**  Marker pointer. */
'Marker' | 
/**  Bar pointer. */
'Bar';
/**
 * Defines Theme of the gauge. They are
 * * Material
 * * Fabric
 * @private
 */
export  type LinearGaugeTheme = 
/**  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 Bootstrap4 theme. */
'Bootstrap4';
/**
 * Defines the type of marker. They are
 * Traingle
 * Diamond
 * Rectangle
 * Circle
 * Image
 * @private
 */
export  type MarkerType = 
/**
 * Triangle marker
 */
'Triangle' | 
/**
 * Inverted triangle
 */
'InvertedTriangle' | 
/**
 * Diamond marker
 */
'Diamond' | 
/**
 * Rectangle marker
 */
'Rectangle' | 
/**
 * Circle marker
 */
'Circle' | 
/**
 * Arrow marker
 */
'Arrow' | 
/**
 * Inverted Arrow marker
 */
'InvertedArrow' | 
/**
 * Image marker
 */
'Image';
/**
 * Defines the place of the pointer. They are
 * None
 * Near
 * Center
 * Far
 * @private
 */
export  type Placement = 
/**
 * Near
 */
'Near' | 
/**
 * Center
 */
'Center' | 
/**
 * Far
 */
'Far' | 
/**
 * None
 */
'None';
/**
 * Defines the type of gauge orientation. They are
 * Horizontal
 * Vertical
 * @private
 */
export  type Orientation = 
/**
 * Horizontal
 */
'Horizontal' | 
/**
 * Vertical
 */
'Vertical';
/**
 * Defines the container type. They are
 * Normal
 * Thermometer
 * Rounded Rectangle
 */
export  type ContainerType = 
/** To draw the normal rectangle box */
'Normal' | 
/**
 * To draw the thermometer box
 */
'Thermometer' | 
/**
 * To draw the rounded rectangle box
 */
'RoundedRectangle';
//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;
/**
 * 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 */
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: object, 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): Function;
/** @private */
export  function getElementOffset(childElement: HTMLElement, parentElement: HTMLElement): Size;
/** @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;
    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;
    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;
    angle: number;
    constructor(text: string, value: number, size: Size);
}
/** @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;
/** @private */
export  function getRangePalette(): 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;
 }
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;
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;
}
/**
 * Sorting Order
 */
export  type SortOrder = 'None' | 'Ascending' | 'Descending';
/**
 * Base List Generator
 */
export  namespace ListBase {
    /**
     * Default mapped fields.
     */
    let defaultMappedFields: FieldsMapping;
    /**
     * Function helps to created and return the UL Li element based on your data.
     * @param  {{[key:string]:Object}[]|string[]} dataSource - Specifies an array of JSON or String data.
     * @param  {ListBaseOptions} options? - Specifies the list options that need to provide.
     */
    function createList(createElement: createElementParams, dataSource: {
        [key: string]: Object;
    }[] | string[] | number[], options?: ListBaseOptions, isSingleLevel?: boolean): HTMLElement;
    /**
     * Function helps to created an element list based on string array input .
     * @param  {string[]} dataSource - Specifies an array of string data
     */
    function createListFromArray(createElement: createElementParams, dataSource: string[] | number[], isSingleLevel?: boolean, options?: ListBaseOptions): HTMLElement;
    /**
     * Function helps to created an element list based on string array input .
     * @param  {string[]} dataSource - Specifies an array of string data
     */
    function createListItemFromArray(createElement: createElementParams, dataSource: string[] | number[], isSingleLevel?: boolean, options?: ListBaseOptions): HTMLElement[];
    /**
     * Function helps to created an element list based on array of JSON input .
     * @param  {{[key:string]:Object}[]} dataSource - Specifies an array of JSON data.
     * @param  {ListBaseOptions} options? - Specifies the list options that need to provide.
     */
    function createListItemFromJson(createElement: createElementParams, dataSource: {
        [key: string]: Object;
    }[], options?: ListBaseOptions, level?: number, isSingleLevel?: boolean): HTMLElement[];
    /**
     * Function helps to created an element list based on array of JSON input .
     * @param  {{[key:string]:Object}[]} dataSource - Specifies an array of JSON data.
     * @param  {ListBaseOptions} options? - Specifies the list options that need to provide.
     */
    function createListFromJson(createElement: createElementParams, dataSource: {
        [key: string]: Object;
    }[], options?: ListBaseOptions, level?: number, isSingleLevel?: boolean): 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[]|NodeList} 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  {{[key:string]:Object}[]} dataSource - The JSON data which is necessary to process.
     * @param  {FieldsMapping} fields - Fields that are mapped from the data source.
     * @param  {SortOrder='None'} 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=new 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  {{[key:string]: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  {{[key:string]: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;
    }[], fields?: FieldsMapping, options?: ListBaseOptions): HTMLElement;
    /**
     * Created header items from group template.
     * @param  {string} template - that need to convert and generate li element.
     * @param  {{[key:string]: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): 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;
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;
}
export  type Position = 'Right' | 'Left';
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;
    /**
     * Remove Blazor ID from items
     */
    removeBlazorID?: boolean;
}
/**
 * Used to get dataSource item from complex data using fields.
 * @param {{[key:string]:Object}|string[]|string} 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 {
    /**
     * ID attribute of specific list-item.
     */
    id?: string;
    /**
     * It is used to map the text value of list item from the dataSource.
     */
    text?: string;
    /**
     * This property used to check whether the list item is in checked state or not.
     */
    isChecked?: string;
    /**
     * To check whether the visibility state of list item.
     */
    isVisible?: string;
    /**
     * It is used to enable the list item
     */
    enabled?: string;
    /**
     * It is used to customize the icon to the list items dynamically.
     *  We can add specific image to the icons using iconCss property.
     */
    iconCss?: string;
    /**
     * This property used for nested navigation of list-items.
     * Refer the documentation [here](./listview/nested-list)
     *  to know more about this property with demo.
     */
    child?: string;
    /**
     * It is used to display `tooltip content of text` while hovering on list items.
     */
    tooltip?: string;
    /**
     * It wraps the list view element into a group based on the value of groupBy property.
     * Refer the documentation [here](./listview/grouping)
     *  to know more about this property with demo.
     */
    groupBy?: string;
    /**
     * It is used to enable the sorting of list items to be ascending or descending.
     */
    sortBy?: string;
    /**
     * Defines the HTML base.attributes such as id, class, etc,. for the specific list item.
     */
    htmlAttributes?: string;
    /**
     * It is used to fetch a specified named table data while using serviceUrl of data.DataManager
     *  in dataSource property.
     * Refer the documentation [here](https://ej2.syncfusion.com/documentation/data/getting-started?lang=typescript)
     *  to know more about this property with demo.
     */
    tableName?: string;
}
/**
 * Interface for a class ListView
 */
export interface ListViewModel extends base.ComponentModel{
    /**
     * This cssClass property helps to use custom skinning option for ListView component,
     *  by adding the mentioned class name into root element of ListView.
     * @default ''
     */
    cssClass?: string;
    /**
     * It enables UI virtualization which will increase ListView performance on loading large number of data.
     *
     * @default false
     */
    enableVirtualization?: boolean;
    /**
     * Defines the HTML base.attributes such as id, class, etc., for the ListView.
     * @default {}
     */
    htmlAttributes?: { [key: string]: string;
 };
    /**
     * It specifies enabled state of ListView component.
     * @default true
     */
    enable?: boolean;
    /**
     * It provides the data to render the ListView component which is mapped
     *  with the fields of ListView.
     * @isGenericType true
     * {% codeBlock src="listview/datasource-api/index.ts" %}{% endcodeBlock %}
     * @default []
     */
    dataSource?: { [key: string]: Object }[] | string[] | number[] | data.DataManager;
    /**
     * It is used to fetch the specific data from dataSource by using where, select key words.
     * Refer the documentation [here]
     * (./data-binding#bind-to-remote-data)
     *  to know more about this property with demo.
     *
     * {% codeBlock src="listview/query-api/index.ts" %}{% endcodeBlock %}
     * @default null
     */
    query?: data.Query;
    /**
     * It 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-api/index.ts" %}{% endcodeBlock %}
     * @default ListBase.defaultMappedFields
     */
    fields?: FieldSettingsModel;
    /**
     * It is used to apply the animation to sub list navigation of list items.
     * @default { effect: 'SlideLeft', duration: 400, easing: 'ease' }
     */
    animation?: AnimationSettings;
    /**
     * It is used to enable the sorting of list items to be ascending or descending.
     *
     * {% codeBlock src="listview/sortorder-api/index.ts" %}{% endcodeBlock %}
     * @default 'None'
     */
    sortOrder?: SortOrder;
    /**
     * Using this property, we can show or hide the icon of list item.
     *
     * {% codeBlock src="listview/showicon-api/index.ts" %}{% endcodeBlock %}
     * @default false
     */
    showIcon?: boolean;
    /**
     * Using this property, we can show or hide the `checkbox`.
     *
     * {% codeBlock src="listview/showcheckbox-api/index.ts" %}{% endcodeBlock %}
     * @default false
     */
    showCheckBox?: boolean;
    /**
     * It is used to set the position of check box in an item.
     * @default 'Left'
     */
    checkBoxPosition?: checkBoxPosition;
    /**
     * It is used to set the title of ListView component.
     *
     * {% codeBlock src="listview/fields-api/index.ts" %}{% endcodeBlock %}
     * @default ""
     */
    headerTitle?: string;
    /**
     * Using this property, we can show or hide the header of ListView component.
     *
     * {% codeBlock src="listview/fields-api/index.ts" %}{% endcodeBlock %}
     * @default false
     */
    showHeader?: boolean;
    /**
     * It is used to set the height of the ListView component.
     * @default ''
     */
    height?: number | string;
    /**
     * It sets the width to the ListView component.
     * @default ''
     */
    width?: number | string;
    /**
     * The ListView supports to customize the content of each list items with the help of template property.
     * Refer the documentation [here](./listview/customizing-templates)
     *  to know more about this property with demo.
     *
     * {% codeBlock src="listview/template-api/index.ts" %}{% endcodeBlock %}
     * @default null
     */
    template?: string;
    /**
     * The ListView has an option to custom design the ListView header title with the help of headerTemplate property.
     * Refer the documentation [here]
     * (./listview/customizing-templates#header-template)
     *  to know more about this property with demo.
     *
     * {% codeBlock src="listview/headertemplate-api/index.ts" %}{% endcodeBlock %}
     * @default null
     */
    headerTemplate?: string;
    /**
     * The ListView has an option to custom design the group header title with the help of groupTemplate property.
     * Refer the documentation [here]
     * (./listview/customizing-templates#group-template)
     *  to know more about this property with demo.
     *
     * {% codeBlock src="listview/grouptemplate-api/index.ts" %}{% endcodeBlock %}
     * @default null
     */
    groupTemplate?: string;
    /**
     * We can trigger the `select` event when we select the list item in the component.
     * @event
     * @blazorProperty 'Selected'
     */
    select?: base.EmitType<SelectEventArgs>;
    /**
     * We can trigger `actionBegin` event before every ListView action starts.
     * @event
     * @blazorProperty 'OnActionBegin'
     */
    actionBegin?: base.EmitType<Object>;
    /**
     * We can trigger `actionComplete` event for every ListView action success event
     *  with the dataSource parameter.
     * @event
     * @blazorProperty 'OnActionComplete'
     */
    actionComplete?: base.EmitType<Object>;
    /**
     * We can trigger `actionFailure` event for every ListView action failure event
     *  with the dataSource parameter.
     * @event
     * @blazorProperty 'OnActionFailure'
     */
    actionFailure?: base.EmitType<Object>;
}
//node_modules/@syncfusion/ej2-lists/src/list-view/list-view.d.ts
export  const classNames: ClassNames;
export interface Fields {
    /**
     * ID attribute of specific list-item.
     */
    id?: string | number;
    /**
     * It is used to map the text value of list item from the dataSource.
     */
    text?: string | number;
    /**
     * It is used to map the custom field values of list item from the dataSource.
     */
    [key: string]: Object | string | number | undefined;
}
export  class FieldSettings extends base.ChildProperty<FieldSettings> {
    /**
     * ID attribute of specific list-item.
     */
    id: string;
    /**
     * It is used to map the text value of list item from the dataSource.
     */
    text: string;
    /**
     * This property used to check whether the list item is in checked state or not.
     */
    isChecked: string;
    /**
     * To check whether the visibility state of list item.
     */
    isVisible: string;
    /**
     * It is used to enable the list item
     */
    enabled: string;
    /**
     * It is used to customize the icon to the list items dynamically.
     *  We can add specific image to the icons using iconCss property.
     */
    iconCss: string;
    /**
     * This property used for nested navigation of list-items.
     * Refer the documentation [here](./listview/nested-list)
     *  to know more about this property with demo.
     */
    child: string;
    /**
     * It is used to display `tooltip content of text` while hovering on list items.
     */
    tooltip: string;
    /**
     * It wraps the list view element into a group based on the value of groupBy property.
     * Refer the documentation [here](./listview/grouping)
     *  to know more about this property with demo.
     */
    groupBy: string;
    /**
     * It is used to enable the sorting of list items to be ascending or descending.
     */
    sortBy: string;
    /**
     * Defines the HTML attributes such as id, class, etc,. for the specific list item.
     */
    htmlAttributes: string;
    /**
     * It is used to fetch a specified named table data while using serviceUrl of data.DataManager
     *  in dataSource property.
     * Refer the documentation [here](https://ej2.syncfusion.com/documentation/data/getting-started?lang=typescript)
     *  to know more about this property with demo.
     */
    tableName: string;
}
/**
 * Animation configuration 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;
}
/**
 * ListView animation effects
 */
export  type ListViewEffect = 'None' | 'SlideLeft' | 'SlideDown' | 'Zoom' | 'Fade';
/**
 * ListView check box positions
 */
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 lvObj = new ListView({});
 *   lvObj.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;
    /**
     * This cssClass property helps to use custom skinning option for ListView component,
     *  by adding the mentioned class name into root element of ListView.
     * @default ''
     */
    cssClass: string;
    /**
     * It enables UI virtualization which will increase ListView performance on loading large number of data.
     *
     * @default false
     */
    enableVirtualization: boolean;
    /**
     * Defines the HTML attributes such as id, class, etc., for the ListView.
     * @default {}
     */
    htmlAttributes: {
        [key: string]: string;
    };
    /**
     * It specifies enabled state of ListView component.
     * @default true
     */
    enable: boolean;
    /**
     * It provides the data to render the ListView component which is mapped
     *  with the fields of ListView.
     * @isGenericType true
     * {% codeBlock src="listview/datasource-api/index.ts" %}{% endcodeBlock %}
     * @default []
     */
    dataSource: {
        [key: string]: Object;
    }[] | string[] | number[] | data.DataManager;
    /**
     * It is used to fetch the specific data from dataSource by using where, select key words.
     * Refer the documentation [here]
     * (./data-binding#bind-to-remote-data)
     *  to know more about this property with demo.
     *
     * {% codeBlock src="listview/query-api/index.ts" %}{% endcodeBlock %}
     * @default null
     */
    query: data.Query;
    /**
     * It 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-api/index.ts" %}{% endcodeBlock %}
     * @default ListBase.defaultMappedFields
     */
    fields: FieldSettingsModel;
    /**
     * It is used to apply the animation to sub list navigation of list items.
     * @default { effect: 'SlideLeft', duration: 400, easing: 'ease' }
     */
    animation: AnimationSettings;
    /**
     * It is used to enable the sorting of list items to be ascending or descending.
     *
     * {% codeBlock src="listview/sortorder-api/index.ts" %}{% endcodeBlock %}
     * @default 'None'
     */
    sortOrder: SortOrder;
    /**
     * Using this property, we can show or hide the icon of list item.
     *
     * {% codeBlock src="listview/showicon-api/index.ts" %}{% endcodeBlock %}
     * @default false
     */
    showIcon: boolean;
    /**
     * Using this property, we can show or hide the `checkbox`.
     *
     * {% codeBlock src="listview/showcheckbox-api/index.ts" %}{% endcodeBlock %}
     * @default false
     */
    showCheckBox: boolean;
    /**
     * It is used to set the position of check box in an item.
     * @default 'Left'
     */
    checkBoxPosition: checkBoxPosition;
    /**
     * It is used to set the title of ListView component.
     *
     * {% codeBlock src="listview/fields-api/index.ts" %}{% endcodeBlock %}
     * @default ""
     */
    headerTitle: string;
    /**
     * Using this property, we can show or hide the header of ListView component.
     *
     * {% codeBlock src="listview/fields-api/index.ts" %}{% endcodeBlock %}
     * @default false
     */
    showHeader: boolean;
    /**
     * It is used to set the height of the ListView component.
     * @default ''
     */
    height: number | string;
    /**
     * It sets the width to the ListView component.
     * @default ''
     */
    width: number | string;
    /**
     * The ListView supports to customize the content of each list items with the help of template property.
     * Refer the documentation [here](./listview/customizing-templates)
     *  to know more about this property with demo.
     *
     * {% codeBlock src="listview/template-api/index.ts" %}{% endcodeBlock %}
     * @default null
     */
    template: string;
    /**
     * The ListView has an option to custom design the ListView header title with the help of headerTemplate property.
     * Refer the documentation [here]
     * (./listview/customizing-templates#header-template)
     *  to know more about this property with demo.
     *
     * {% codeBlock src="listview/headertemplate-api/index.ts" %}{% endcodeBlock %}
     * @default null
     */
    headerTemplate: string;
    /**
     * The ListView has an option to custom design the group header title with the help of groupTemplate property.
     * Refer the documentation [here]
     * (./listview/customizing-templates#group-template)
     *  to know more about this property with demo.
     *
     * {% codeBlock src="listview/grouptemplate-api/index.ts" %}{% endcodeBlock %}
     * @default null
     */
    groupTemplate: string;
    /**
     * We can trigger the `select` event when we select the list item in the component.
     * @event
     * @blazorProperty 'Selected'
     */
    select: base.EmitType<SelectEventArgs>;
    /**
     * We can trigger `actionBegin` event before every ListView action starts.
     * @event
     * @blazorProperty 'OnActionBegin'
     */
    actionBegin: base.EmitType<Object>;
    /**
     * We can trigger `actionComplete` event for every ListView action success event
     *  with the dataSource parameter.
     * @event
     * @blazorProperty 'OnActionComplete'
     */
    actionComplete: base.EmitType<Object>;
    /**
     * We can trigger `actionFailure` event for every ListView action failure event
     *  with the dataSource parameter.
     * @event
     * @blazorProperty 'OnActionFailure'
     */
    actionFailure: base.EmitType<Object>;
    /**
     * Constructor for creating the widget
     */
    constructor(options?: ListViewModel, element?: string | HTMLElement);
    /**
     * @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;
    /**
     * It is used to check the checkbox of an item.
     * @param  {Fields | HTMLElement | Element} item - It accepts Fields or HTML list element as an argument.
     */
    checkItem(item: Fields | HTMLElement | Element): void;
    private toggleCheckBase;
    /**
     * It is used to uncheck the checkbox of an item.
     * @param  {Fields | HTMLElement | Element} item - It accepts Fields or HTML list element as an argument.
     */
    uncheckItem(item: Fields | HTMLElement | Element): void;
    /**
     * It is used to check all the items in ListView.
     */
    checkAllItems(): void;
    /**
     * It is used to un-check all the items in ListView.
     */
    uncheckAllItems(): void;
    private toggleAllCheckBase;
    private setCheckbox;
    /**
     * It is used to refresh the UI list item height
     */
    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 setLocalData;
    private reRender;
    private resetCurrentList;
    private createList;
    private resetBlazorTemplates;
    private updateBlazorTemplates;
    private renderSubList;
    private renderIntoDom;
    private renderList;
    private getElementUID;
    /**
     * It is used to Initialize the control rendering.
     */
    render(): void;
    /**
     * It is used to destroy the ListView component.
     */
    destroy(): void;
    /**
     * It helps to switch back from navigated sub list.
     */
    back(): void;
    /**
     * It is used to select the list item from the ListView.
     * @param  {Fields | HTMLElement | Element} obj - We can pass element Object or Fields as Object with ID and Text fields.
     */
    selectItem(obj: Fields | HTMLElement | Element): void;
    private getLiFromObjOrElement;
    /**
     * It is used to select multiple list item from the ListView.
     * @param  {Fields[] | HTMLElement[] | Element[]} obj - We can pass array of elements or array of field Object with ID and Text fields.
     */
    selectMultipleItems(obj: Fields[] | HTMLElement[] | Element[]): void;
    private getParentId;
    /**
     * It is used to get the currently [here](./api-selectedItem)
     *  item details from the list items.
     * @blazorType ListSelectedItem<TValue>
     */
    getSelectedItems(): SelectedItem | SelectedCollection | UISelectedItem | NestedListData;
    private blazorGetSelectedItems;
    private convertItemsToArray;
    /**
     * It is used to find out an item details from the current list.
     * @param  {Fields | HTMLElement | Element} obj - We can pass element Object or Fields as Object with ID and Text fields.
     * @blazorType TValue
     */
    findItem(obj: Fields | HTMLElement | Element): SelectedItem;
    /**
     * A function that used to enable the disabled list items based on passed element.
     * @param  {Fields | HTMLElement | Element} obj - We can pass element Object or Fields as Object with ID and Text fields.
     */
    enableItem(obj: Fields | HTMLElement | Element): void;
    /**
     * It is used to disable the list items based on passed element.
     * @param  {Fields | HTMLElement | Element} obj - We can pass element Object or Fields as Object with ID and Text fields.
     */
    disableItem(obj: Fields | HTMLElement | Element): void;
    private setItemState;
    /**
     * It is used to show an list item from the ListView.
     * @param  {Fields | HTMLElement | Element} obj - We can pass element Object or Fields as Object with ID and Text fields.
     */
    showItem(obj: Fields | HTMLElement | Element): void;
    /**
     * It is used to hide an item from the ListView.
     * @param  {Fields | HTMLElement | Element} obj - We can pass element Object or Fields as Object with ID and Text fields.
     */
    hideItem(obj: Fields | HTMLElement | Element): void;
    private showHideItem;
    /**
     * It adds new item(s) to current ListView.
     * To add a new item(s) in the listview, we need to pass `data` as array of items that needs
     * 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  {{[key:string]: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).
     * @blazorArgsType data|List<TValue>,fields|TValue
     */
    addItem(data: {
        [key: string]: Object;
    }[], fields?: Fields): void;
    private addItemInternally;
    private addItemInNestedList;
    private addItemIntoDom;
    private addListItem;
    /**
     * A function that removes the item from data source based on passed element like fields: { text: 'Name', tooltip: 'Name', id:'id'}
     * @param  {Fields | HTMLElement | Element} obj - We can pass element Object or Fields as Object with ID and Text fields.
     */
    removeItem(obj: Fields | HTMLElement | Element): void;
    private removeItemFromList;
    private validateNestedView;
    /**
     * A function that removes multiple item from list view based on given input.
     * @param  {Fields[] | HTMLElement[] | Element[]} obj - We can pass array of elements or array of field Object with ID and Text fields.
     */
    removeMultipleItems(obj: 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;
}
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;
    icon: string;
    checkboxWrapper: string;
    checkbox: string;
    checked: string;
    checkboxIcon: string;
    checklist: string;
    checkboxRight: string;
    checkboxLeft: string;
    listviewCheckbox: string;
    itemCheckList: string;
}
export interface ListSelectedItem {
    /**
     * Selected Item dataSource collection.
     * @isGenericType true
     * @blazorType List<T>
     */
    data?: object[];
    /**
     * Selected Item text collection.
     */
    text?: string[];
    /**
     * Index of the selected element.
     * Available only in virtualization.
     */
    index?: number[];
    /**
     * Hierarchical Parent Id collection of the current view.
     * Available only in nested list with Checkbox enabled.
     */
    parentId?: string[];
}
export interface SelectedItem {
    /**
     * It denotes the Selected Item text.
     */
    text: string;
    /**
     * It denotes the Selected Item list element.
     * @blazorType DOM
     */
    item: HTMLElement | Element;
    /**
     * It denotes the Selected Item dataSource JSON object.
     * @isGenericType true
     */
    data: {
        [key: string]: Object;
    } | string[] | number[];
}
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[];
}
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;
}
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[];
}
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[];
}
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;
}
export interface ItemCreatedArgs {
    curData: {
        [key: string]: Object;
    };
    dataSource: {
        [key: string]: Object;
    } | string[];
    fields: FieldsMapping;
    item: HTMLElement;
    options: ListBaseOptions;
    text: string;
}
interface DataSource {
    [key: string]: Object;
}
//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 checkListWrapper;
    private iconCssWrapper;
    uiFirstIndex: number;
    private uiLastIndex;
    private totalHeight;
    private topElement;
    private bottomElement;
    private activeIndex;
    private uiIndices;
    private listDiff;
    /**
     * For internal use only.
     * @private
     */
    isNgTemplate(): boolean;
    /**
     * For internal use only.
     * @private
     */
    uiVirtualization(): void;
    private wireScrollEvent;
    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?: Function;
    /**
     * Defines the callback function for customizing the placeHolder element.
     */
    placeHolder?: Function;
    /**
     * 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 drop event.
     * @event
     */
    drop?: Function;
}
//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: Function;
    /**
     * Defines the callback function for customizing the placeHolder element.
     */
    placeHolder: Function;
    /**
     * 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 drop event.
     * @event
     */
    drop: Function;
    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.
     * @method moveTo
     * @return {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;
 }
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;
}
//node_modules/@syncfusion/ej2-maps/src/maps/layers/bubble.d.ts
/**
 * Bubble module class
 */
export  class Bubble {
    private maps;
    bubbleCollection: Object[];
    /**
     * Bubble Id for current layer
     */
    id: string;
    constructor(maps: Maps);
    /**
     * To render bubble
     */
    renderBubble(bubbleSettings: BubbleSettingsModel, shapeData: object, 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
     */
    bubbleClick(e: PointerEvent): void;
    /**
     * To get bubble from target id
     */
    private getbubble;
    /**
     * To check and trigger bubble move event
     */
    bubbleMove(e: PointerEvent): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the bubble.
     * @return {void}
     * @private
     */
    destroy(maps: Maps): 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.
     * @private
     */
    getShapeColorMapping(shapeSettings: ShapeSettingsModel, layerData: object, color: string): Object;
    /**
     * To color by value and color mapping
     */
    getColorByValue(colorMapping: ColorMappingSettingsModel[], colorValue: number, equalValue: string): Object;
    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;
    private dataLabelObject;
    /**
     * Datalabel collections
     * @private
     */
    dataLabelCollections: Object[];
    private value;
    constructor(maps: Maps);
    private getDataLabel;
    /**
     * To render label for maps
     * @param layer
     * @param layerIndex
     * @param shape
     * @param layerData
     * @param group
     * @param labelTemplateElement
     * @param index
     */
    renderLabel(layer: LayerSettings, layerIndex: number, shape: object, layerData: object[], group: Element, labelTemplateElement: HTMLElement, index: number, intersect: object[]): void;
    private getPoint;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the layers.
     * @return {void}
     * @private
     */
    destroy(maps: Maps): 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;
    private currentFactor;
    private groupElements;
    private layerObject;
    private currentLayer;
    private rectBounds;
    tiles: Tile[];
    private clipRectElement;
    private layerGroup;
    private tileTranslatePoint;
    private urlTemplate;
    private isMapCoordinates;
    private exactBounds;
    private tileSvgObject;
    private ajaxModule;
    private ajaxProcessCount;
    private ajaxResponse;
    private bing;
    constructor(map: Maps);
    measureLayerPanel(): void;
    protected renderTileLayer(panel: LayerPanel, layer: LayerSettings, layerIndex: number, bing?: BingMap): void;
    protected processLayers(layer: LayerSettings, layerIndex: number): void;
    private bubbleCalculation;
    calculatePathCollection(layerIndex: number, renderData: Object[]): void;
    /**
     *  render datalabel
     */
    private renderLabel;
    /**
     * To render path for multipolygon
     */
    private generateMultiPolygonPath;
    /**
     * To render bubble
     */
    private renderBubble;
    /**
     * To get the shape color from color mapping module
     */
    private getShapeColorMapping;
    generatePoints(type: string, coordinates: Object[], data: Object, properties: Object): void;
    calculateFactor(layer: LayerSettings): number;
    translateLayerElements(layerElement: Element, index: number): void;
    calculateRectBounds(layerData: Object[]): void;
    calculatePolygonBox(coordinates: Object[], data: Object, properties: Object): Object;
    calculateRectBox(coordinates: Object[]): void;
    generateTiles(zoomLevel: number, tileTranslatePoint: Point, bing?: BingMap): void;
    arrangeTiles(): void;
    private templateCompiler;
    private panTileMap;
}
//node_modules/@syncfusion/ej2-maps/src/maps/layers/legend.d.ts
/**
 * Legend module is used to render legend for the maps
 */
export  class Legend {
    legendCollection: Object[];
    legendRenderingCollections: Object[];
    private translate;
    private legendBorderRect;
    private maps;
    private totalPages;
    private page;
    private currentPage;
    private legendItemRect;
    private heightIncrement;
    private widthIncrement;
    private textMaxWidth;
    private legendGroup;
    private shapeHighlightCollection;
    private shapeSelectionCollection;
    legendHighlightCollection: object[];
    legendSelectionCollection: object[];
    private legendLinearGradient;
    private currentLayer;
    private defsElement;
    legendElement: Element;
    private shapeElement;
    oldShapeElement: Element;
    shapeSelection: boolean;
    legendSelection: boolean;
    constructor(maps: Maps);
    /**
     * To calculate legend bounds and draw the legend shape and text.
     */
    renderLegend(): void;
    calculateLegendBounds(): void;
    /**
     *
     */
    private getLegends;
    private getPageChanged;
    /**
     * To draw the legend shape and text.
     */
    drawLegend(): void;
    private drawLegendItem;
    legendHighLightAndSelection(targetElement: Element, value: string): void;
    private setColor;
    private pushCollection;
    private removeLegend;
    removeLegendHighlightCollection(): void;
    removeLegendSelectionCollection(): void;
    removeShapeHighlightCollection(): void;
    shapeHighLightAndSelection(targetElement: Element, data: object, module: SelectionSettingsModel | HighlightSettingsModel, getValue: string, layerIndex: number): void;
    private isTargetSelected;
    private legendIndexOnShape;
    private shapeDataOnLegend;
    private renderLegendBorder;
    changeNextPage(e: PointerEvent): void;
    private getLegendAlignment;
    private getMarkersLegendCollections;
    private getRangeLegendCollection;
    private getOverallLegendItemsCollection;
    private removeDuplicates;
    private getEqualLegendCollection;
    private getDataLegendCollection;
    interactiveHandler(e: PointerEvent): void;
    private renderInteractivePointer;
    wireEvents(element: Element): void;
    addEventListener(): void;
    private legendClick;
    removeEventListener(): void;
    private getLegendData;
    legendGradientColor(colorMap: ColorMappingSettings, legendIndex: number): string;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the legend.
     * @return {void}
     * @private
     */
    destroy(maps: Maps): 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 previousExplodeId;
    constructor(maps: Maps);
    markerRender(layerElement: Element, layerIndex: number, factor: number, type: string): 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
     */
    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.
     */
    protected getModuleName(): string;
    /**
     * To destroy the layers.
     * @return {void}
     * @private
     */
    destroy(maps: Maps): 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.
     */
    protected getModuleName(): string;
    /**
     * To destroy the layers.
     * @return {void}
     * @private
     */
    destroy(maps: Maps): void;
}
//node_modules/@syncfusion/ej2-maps/src/maps/maps-model.d.ts
/**
 * Interface for a class Maps
 */
export interface MapsModel extends base.ComponentModel{
    /**
     * To configure the background of the maps container.
     * @default null
     */
    background?: string;
    /**
     * To enable the separator
     * @default false
     */
    useGroupingSeparator?: boolean;
    /**
     * To apply internationalization for maps
     * @default null
     */
    format?: string;
    /**
     * To configure width of maps.
     * @default null
     */
    width?: string;
    /**
     * To configure height of maps.
     * @default null
     */
    height?: string;
    /**
     * To configure the title settings of the maps.
     */
    titleSettings?: TitleSettingsModel;
    /**
     * To configure the zoom settings of the maps.
     */
    zoomSettings?: ZoomSettingsModel;
    /**
     * To configure the legend settings of the maps.
     */
    legendSettings?: LegendSettingsModel;
    /**
     * To configure the layers settings of the maps.
     */
    layers?: LayerSettingsModel[];
    /**
     *  Options for customizing the annotation of maps.
     */
    annotations?: AnnotationModel[];
    /**
     *  Options to customize left, right, top and bottom margins of the maps.
     */
    margin?: MarginModel;
    /**
     * Options for customizing the color and width of the maps border.
     */
    border?: BorderModel;
    /**
     * Specifies the theme for the maps.
     * @default Material
     */
    theme?: MapsTheme;
    /**
     * Specifies the ProjectionType for the maps.
     * @default Mercator
     */
    projectionType?: ProjectionType;
    /**
     * To configure baseMapIndex of maps. Option to select which layer to be visible.
     * @default 0
     */
    baseLayerIndex?: number;
    /**
     * Description for maps.
     * @default null
     */
    description?: string;
    /**
     * TabIndex value for the maps.
     * @default 1
     */
    tabIndex?: number;
    /**
     * To configure the zoom level of maps.
     */
    centerPosition?: CenterPositionModel;
    /**
     * To customization Maps area
     */
    mapsArea?: MapsAreaSettingsModel;
    /**
     * Triggers before maps rendered.
     * @event
     * @blazorProperty 'OnLoad'
     */
    load?: base.EmitType<ILoadEventArgs>;
    /**
     * Triggers before the prints gets started.
     * @event
     * @blazorProperty 'OnPrint'
     */
    beforePrint?: base.EmitType<IPrintEventArgs>;
    /**
     * Triggers after maps rendered.
     * @event
     * @blazorProperty 'Loaded'
     */
    loaded?: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers on clicking the maps.
     * @event
     * @blazorProperty 'OnClick'
     */
    click?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on double clicking the maps.
     * @event
     * @blazorProperty 'OnDoubleClick'
     */
    doubleClick?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on right clicking the maps.
     * @event
     * @blazorProperty 'OnRightClick'
     */
    rightClick?: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on resizing the maps.
     * @event
     * @blazorProperty 'Resizing'
     */
    resize?: base.EmitType<IResizeEventArgs>;
    /**
     * Triggers before the maps tooltip rendered.
     * @deprecated
     * @event
     * @blazorProperty 'TooltipRendering'
     */
    tooltipRender?: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * Triggers while clicking the shape
     * @event
     * @blazorProperty 'ShapeSelected'
     */
    shapeSelected?: base.EmitType<IShapeSelectedEventArgs>;
    /**
     * Triggers before selection applied
     * @event
     * @blazorProperty 'OnItemSelect'
     */
    itemSelection?: base.EmitType<ISelectionEventArgs>;
    /**
     * Trigger before highlight applied
     * @event
     * @blazorProperty 'OnItemHighlight'
     */
    itemHighlight?: base.EmitType<ISelectionEventArgs>;
    /**
     * Triggers before highlight applied for shape
     * @event
     * @blazorProperty 'ShapeHighlighted'
     */
    shapeHighlight?: base.EmitType<IShapeSelectedEventArgs>;
    /**
     * Triggers before the maps layer rendered.
     * @event
     * @deprecated
     * @blazorProperty 'LayerRendering'
     */
    layerRendering?: base.EmitType<ILayerRenderingEventArgs>;
    /**
     * Triggers before the maps shape rendered.
     * @event
     * @deprecated
     * @blazorProperty 'ShapeRendering'
     */
    shapeRendering?: base.EmitType<IShapeRenderingEventArgs>;
    /**
     * Triggers before the maps marker rendered.
     * @deprecated
     * @event
     * @blazorProperty 'MarkerRendering'
     */
    markerRendering?: base.EmitType<IMarkerRenderingEventArgs>;
    /**
     * Triggers before the maps marker cluster rendered.
     * @deprecated
     * @event
     */
    markerClusterRendering?: base.EmitType<IMarkerClusterRenderingEventArgs>;
    /**
     * Triggers event mouse clicking on the maps marker element.
     * @event
     * @blazorProperty 'OnMarkerClick'
     */
    markerClick?: base.EmitType<IMarkerClickEventArgs>;
    /**
     * Triggers event mouse clicking on the maps Cluster element.
     * @event
     */
    markerClusterClick?: base.EmitType<IMarkerClusterClickEventArgs>;
    /**
     * Triggers event mouse moving on the maps cluster element.
     * @event
     */
    markerClusterMouseMove?: base.EmitType<IMarkerClusterMoveEventArgs>;
    /**
     * Triggers event mouse moving on the maps marker element.
     * @event
     * @blazorProperty 'OnMarkerMouseMove'
     */
    markerMouseMove?: base.EmitType<IMarkerMoveEventArgs>;
    /**
     * Triggers before the data label get rendered.
     * @event
     * @blazorProperty 'DataLabelRendering'
     */
    dataLabelRendering?: base.EmitType<ILabelRenderingEventArgs>;
    /**
     * Triggers before the maps bubble rendered.
     * @event
     * @blazorProperty 'BubbleRendering'
     */
    bubbleRendering?: base.EmitType<IBubbleRenderingEventArgs>;
    /**
     * Triggers event mouse clicking on the maps bubble element.
     * @event
     * @blazorProperty 'OnBubbleClick'
     */
    bubbleClick?: base.EmitType<IBubbleClickEventArgs>;
    /**
     * Triggers event mouse moving on the maps bubble element.
     * @event
     * @blazorProperty 'OnBubbleMouseMove'
     */
    bubbleMouseMove?: base.EmitType<IBubbleMoveEventArgs>;
    /**
     * Triggers after the animation completed.
     * @event
     * @blazorProperty 'AnimationCompleted'
     */
    animationComplete?: base.EmitType<IAnimationCompleteEventArgs>;
    /**
     * Triggers before annotation rendering.
     * @event
     * @blazorProperty 'AnnotationRendering'
     */
    annotationRendering?: base.EmitType<IAnnotationRenderingEventArgs>;
    /**
     * Triggers before zoom in or zoom out.
     * @event
     * @blazorProperty 'OnZoom'
     */
    zoom?: base.EmitType<IMapZoomEventArgs>;
    /**
     * Triggers before panning.
     * @event
     * @blazorProperty 'OnPan'
     */
    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 {
    /**
     * `bubbleModule` is used to add bubble to the maps.
     */
    bubbleModule: Bubble;
    /**
     * `markerModule` is used to add marker to the maps.
     */
    markerModule: Marker;
    /**
     * `dataLabelModule` is used to add datalabel to the maps.
     */
    dataLabelModule: DataLabel;
    /**
     * `highlightModule` is used to add highlight to the maps.
     */
    highlightModule: Highlight;
    /**
     * `navigationLineModule` is used to add navigationLine to the maps.
     */
    navigationLineModule: NavigationLine;
    /**
     * `legendModule` is used to add legend to the maps.
     */
    legendModule: Legend;
    /**
     * `selectionModule` is used to add selection to the maps.
     */
    selectionModule: Selection;
    /**
     * `mapsTooltipModule` is used to add tooltip to the maps.
     */
    mapsTooltipModule: MapsTooltip;
    /**
     * `zoomModule` is used to add zoom to the maps.
     */
    zoomModule: Zoom;
    /**
     *  annotationModule is used to place the any text or images into the maps.
     */
    annotationsModule: Annotations;
    /**
     * To configure the background of the maps container.
     * @default null
     */
    background: string;
    /**
     * To enable the separator
     * @default false
     */
    useGroupingSeparator: boolean;
    /**
     * To apply internationalization for maps
     * @default null
     */
    format: string;
    /**
     * To configure width of maps.
     * @default null
     */
    width: string;
    /**
     * To configure height of maps.
     * @default null
     */
    height: string;
    /**
     * To configure the title settings of the maps.
     */
    titleSettings: TitleSettingsModel;
    /**
     * To configure the zoom settings of the maps.
     */
    zoomSettings: ZoomSettingsModel;
    /**
     * To configure the legend settings of the maps.
     */
    legendSettings: LegendSettingsModel;
    /**
     * To configure the layers settings of the maps.
     */
    layers: LayerSettingsModel[];
    /**
     *  Options for customizing the annotation of maps.
     */
    annotations: AnnotationModel[];
    /**
     *  Options to customize left, right, top and bottom margins of the maps.
     */
    margin: MarginModel;
    /**
     * Options for customizing the color and width of the maps border.
     */
    border: BorderModel;
    /**
     * Specifies the theme for the maps.
     * @default Material
     */
    theme: MapsTheme;
    /**
     * Specifies the ProjectionType for the maps.
     * @default Mercator
     */
    projectionType: ProjectionType;
    /**
     * To configure baseMapIndex of maps. Option to select which layer to be visible.
     * @default 0
     */
    baseLayerIndex: number;
    /**
     * Description for maps.
     * @default null
     */
    description: string;
    /**
     * TabIndex value for the maps.
     * @default 1
     */
    tabIndex: number;
    /**
     * To configure the zoom level of maps.
     */
    centerPosition: CenterPositionModel;
    /**
     * To customization Maps area
     */
    mapsArea: MapsAreaSettingsModel;
    /**
     * Triggers before maps rendered.
     * @event
     * @blazorProperty 'OnLoad'
     */
    load: base.EmitType<ILoadEventArgs>;
    /**
     * Triggers before the prints gets started.
     * @event
     * @blazorProperty 'OnPrint'
     */
    beforePrint: base.EmitType<IPrintEventArgs>;
    /**
     * Triggers after maps rendered.
     * @event
     * @blazorProperty 'Loaded'
     */
    loaded: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers on clicking the maps.
     * @event
     * @blazorProperty 'OnClick'
     */
    click: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on double clicking the maps.
     * @event
     * @blazorProperty 'OnDoubleClick'
     */
    doubleClick: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on right clicking the maps.
     * @event
     * @blazorProperty 'OnRightClick'
     */
    rightClick: base.EmitType<IMouseEventArgs>;
    /**
     * Triggers on resizing the maps.
     * @event
     * @blazorProperty 'Resizing'
     */
    resize: base.EmitType<IResizeEventArgs>;
    /**
     * Triggers before the maps tooltip rendered.
     * @deprecated
     * @event
     * @blazorProperty 'TooltipRendering'
     */
    tooltipRender: base.EmitType<ITooltipRenderEventArgs>;
    /**
     * Triggers while clicking the shape
     * @event
     * @blazorProperty 'ShapeSelected'
     */
    shapeSelected: base.EmitType<IShapeSelectedEventArgs>;
    /**
     * Triggers before selection applied
     * @event
     * @blazorProperty 'OnItemSelect'
     */
    itemSelection: base.EmitType<ISelectionEventArgs>;
    /**
     * Trigger before highlight applied
     * @event
     * @blazorProperty 'OnItemHighlight'
     */
    itemHighlight: base.EmitType<ISelectionEventArgs>;
    /**
     * Triggers before highlight applied for shape
     * @event
     * @blazorProperty 'ShapeHighlighted'
     */
    shapeHighlight: base.EmitType<IShapeSelectedEventArgs>;
    /**
     * Triggers before the maps layer rendered.
     * @event
     * @deprecated
     * @blazorProperty 'LayerRendering'
     */
    layerRendering: base.EmitType<ILayerRenderingEventArgs>;
    /**
     * Triggers before the maps shape rendered.
     * @event
     * @deprecated
     * @blazorProperty 'ShapeRendering'
     */
    shapeRendering: base.EmitType<IShapeRenderingEventArgs>;
    /**
     * Triggers before the maps marker rendered.
     * @deprecated
     * @event
     * @blazorProperty 'MarkerRendering'
     */
    markerRendering: base.EmitType<IMarkerRenderingEventArgs>;
    /**
     * Triggers before the maps marker cluster rendered.
     * @deprecated
     * @event
     */
    markerClusterRendering: base.EmitType<IMarkerClusterRenderingEventArgs>;
    /**
     * Triggers event mouse clicking on the maps marker element.
     * @event
     * @blazorProperty 'OnMarkerClick'
     */
    markerClick: base.EmitType<IMarkerClickEventArgs>;
    /**
     * Triggers event mouse clicking on the maps Cluster element.
     * @event
     */
    markerClusterClick: base.EmitType<IMarkerClusterClickEventArgs>;
    /**
     * Triggers event mouse moving on the maps cluster element.
     * @event
     */
    markerClusterMouseMove: base.EmitType<IMarkerClusterMoveEventArgs>;
    /**
     * Triggers event mouse moving on the maps marker element.
     * @event
     * @blazorProperty 'OnMarkerMouseMove'
     */
    markerMouseMove: base.EmitType<IMarkerMoveEventArgs>;
    /**
     * Triggers before the data label get rendered.
     * @event
     * @blazorProperty 'DataLabelRendering'
     */
    dataLabelRendering: base.EmitType<ILabelRenderingEventArgs>;
    /**
     * Triggers before the maps bubble rendered.
     * @event
     * @blazorProperty 'BubbleRendering'
     */
    bubbleRendering: base.EmitType<IBubbleRenderingEventArgs>;
    /**
     * Triggers event mouse clicking on the maps bubble element.
     * @event
     * @blazorProperty 'OnBubbleClick'
     */
    bubbleClick: base.EmitType<IBubbleClickEventArgs>;
    /**
     * Triggers event mouse moving on the maps bubble element.
     * @event
     * @blazorProperty 'OnBubbleMouseMove'
     */
    bubbleMouseMove: base.EmitType<IBubbleMoveEventArgs>;
    /**
     * Triggers after the animation completed.
     * @event
     * @blazorProperty 'AnimationCompleted'
     */
    animationComplete: base.EmitType<IAnimationCompleteEventArgs>;
    /**
     * Triggers before annotation rendering.
     * @event
     * @blazorProperty 'AnnotationRendering'
     */
    annotationRendering: base.EmitType<IAnnotationRenderingEventArgs>;
    /**
     * Triggers before zoom in or zoom out.
     * @event
     * @blazorProperty 'OnZoom'
     */
    zoom: base.EmitType<IMapZoomEventArgs>;
    /**
     * Triggers before panning.
     * @event
     * @blazorProperty 'OnPan'
     */
    pan: base.EmitType<IMapPanEventArgs>;
    /**
     * Format method
     * @private
     */
    formatFunction: Function;
    /**
     * svg renderer object.
     * @private
     */
    renderer: svgBase.SvgRenderer;
    /**
     * maps svg element's object
     * @private
     */
    svgObject: Element;
    /** @public */
    mapScaleValue: number;
    /**
     * Maps available height, width
     * @private
     */
    availableSize: Size;
    /**
     * localization object
     * @private
     */
    localeObject: base.L10n;
    /**
     * It contains default values of localization values
     */
    private defaultLocalConstants;
    /**
     * Internal use of internationalization instance.
     * @private
     */
    intl: base.Internationalization;
    /**
     * Check layer whether is normal or tile
     * @private
     */
    isTileMap: boolean;
    /**
     * Resize the map
     */
    private resizeTo;
    /**
     * @private
     * Stores the map area rect
     */
    mapAreaRect: Rect;
    /**
     * @private
     * Stores layers collection for rendering
     */
    layersCollection: LayerSettings[];
    /**
     * @private
     * Calculate the axes bounds for map.
     * @hidden
     */
    mapLayerPanel: LayerPanel;
    /**
     * @private
     * Render the data label.
     * @hidden
     */
    /**
     * @private
     */
    themeStyle: IThemeStyle;
    /**
     * @private
     * Stores the legend bounds
     */
    totalRect: Rect;
    dataLabel: DataLabel;
    /** @private */
    isTouch: boolean;
    /** @private */
    baseSize: Size;
    /** @private */
    scale: number;
    /** @private */
    baseScale: number;
    /** @private */
    baseMapBounds: GeoLocation;
    /** @private */
    baseMapRectBounds: Object;
    /** @public */
    translatePoint: Point;
    /** @private */
    baseTranslatePoint: Point;
    /** @public */
    zoomTranslatePoint: Point;
    /** @public */
    previousProjection: String;
    /** @private */
    tileTranslatePoint: Point;
    /** @private */
    baseTileTranslatePoint: Point;
    /** @private */
    isDevice: Boolean;
    /** @private */
    tileZoomLevel: number;
    /** @private */
    serverProcess: Object;
    /** @private */
    previousScale: number;
    /** @private */
    previousPoint: Point;
    /** @public */
    dataLabelShape: number[];
    zoomShapeCollection: object[];
    zoomLabelPositions: object[];
    mouseDownEvent: Object;
    mouseClickEvent: Object;
    /** @private */
    isBlazor: boolean;
    /**
     * Constructor for creating the widget
     */
    constructor(options?: MapsModel, element?: string | HTMLElement);
    /**
     * Gets the localized label by locale keyword.
     * @param  {string} key
     * @return {string}
     */
    getLocalizedLabel(key: string): string;
    /**
     * Initializing pre-required values.
     */
    protected preRender(): void;
    /**
     * To Initialize the control rendering.
     */
    protected render(): void;
    protected processRequestJsonData(): void;
    private processAjaxRequest;
    processResponseJsonData(processType: string, data?: object | string, layer?: LayerSettings, dataType?: string): void;
    private renderMap;
    /**
     * Render the map area border
     */
    private renderArea;
    /**
     * To add tab index for map element
     */
    private addTabIndex;
    private zoomingChange;
    private createSecondaryElement;
    private arrangeTemplate;
    private createTile;
    /**
     * To initilize the private varibales of maps.
     */
    private initPrivateVariable;
    private findBaseAndSubLayers;
    /**
     * @private
     * Render the map border
     */
    private renderBorder;
    /**
     * @private
     * Render the title and subtitle
     */
    private renderTitle;
    /**
     * To create svg element for maps
     */
    private createSVG;
    /**
     * To Remove the SVG
     */
    private removeSvg;
    /**
     * To bind event handlers for maps.
     */
    private wireEVents;
    /**
     * To unbind event handlers from maps.
     */
    private unWireEVents;
    mouseLeaveOnMap(e: PointerEvent): void;
    /**
     * To handle the click event for the maps.
     * @blazorProperty 'PerformClick'
     */
    mapsOnClick(e: PointerEvent): void;
    /**
     *
     */
    mouseEndOnMap(e: PointerEvent): boolean;
    /**
     *
     */
    mouseDownOnMap(e: PointerEvent): void;
    /**
     * To handle the double click event for the maps.
     * @blazorProperty 'PerformDoubleClick'
     */
    mapsOnDoubleClick(e: PointerEvent): void;
    /**
     *
     */
    mouseMoveOnMap(e: PointerEvent): void;
    onMouseMove(e: PointerEvent): boolean;
    private titleTooltip;
    mapsOnResize(e: Event): boolean;
    /**
     * To zoom the map by specifies the center position
     * @param centerPosition
     * @param zoomFactor
     */
    zoomByPosition(centerPosition: {
        latitude: number;
        longitude: number;
    }, zoomFactor: number): void;
    /**
     * To pan the map by specifies the direction
     * @param direction
     */
    panByDirection(direction: PanDirection): void;
    /**
     * To add layer
     * @param layer
     */
    addLayer(layer: LayerSettingsModel): void;
    /**
     * To remove layer
     * @param index
     */
    removeLayer(index: number): void;
    /**
     * To add marker
     * @param layerIndex
     * @param marker
     */
    addMarker(layerIndex: number, markerCollection: MarkerSettingsModel[]): void;
    /**
     * Method to set culture for maps
     */
    private setCulture;
    /**
     * Method to set locale constants
     */
    private setLocaleConstants;
    /**
     * To destroy maps control.
     */
    destroy(): void;
    /**
     * Get component name
     */
    getModuleName(): string;
    /**
     * 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: MapsModel, oldProp: MapsModel): void;
    /**
     * To provide the array of modules needed for maps rendering
     * @return {base.ModuleDeclaration[]}
     * @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 marker visibility
     */
    private isBubbleVisible;
    /**
     * To find the bubble visibility from layer
     * @private
     */
    getBubbleVisible(layer: LayerSettingsModel): boolean;
    /**
     * Handles the print method for chart control.
     */
    print(id?: string[] | string | Element): void;
    /**
     * Handles the export method for chart control.
     * @param type
     * @param fileName
     */
    export(type: ExportType, fileName: string, orientation?: pdfExport.PdfPageOrientation): void;
    /**
     * To find visibility of layers and markers for required modules load.
     */
    private findVisibleLayers;
    /**
     * To get the geo location
     * @param {number} layerIndex
     * @param {PointerEvent} location
     * @return GeoPosition
     */
    getGeoLocation(layerIndex: number, location: PointerEvent): GeoPosition;
    private clip;
    /**
     * To get the geo location
     * @param {PointerEvent}
     * @return GeoPosition
     */
    getTileGeoLocation(location: PointerEvent): GeoPosition;
    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 {
    /**
     * Specifies the id of html element.
     */
    content?: string;
    /**
     * Specifies the position of x.
     */
    x?: string;
    /**
     * Specifies the position of y.
     */
    y?: string;
    /**
     * Specifies the vertical alignment of annotation.
     * @default None
     */
    verticalAlignment?: AnnotationAlignment;
    /**
     * Specifies the horizontal alignment of annotation.
     * @default None
     */
    horizontalAlignment?: AnnotationAlignment;
    /**
     * Specifies the zIndex of the annotation.
     * @default '-1'
     */
    zIndex?: string;
}
/**
 * Interface for a class Arrow
 */
export interface ArrowModel {
    /**
     * arrowPosition
     */
    position?: string;
    /**
     * show
     */
    showArrow?: boolean;
    /**
     * size
     */
    size?: number;
    /**
     * color
     */
    color?: string;
    /**
     * offset the arrow in navigation line by specified pixels
     */
    offSet?: number;
}
/**
 * Interface for a class Font
 */
export interface FontModel {
    /**
     * 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 Border
 */
export interface BorderModel {
    /**
     * 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 CenterPosition
 */
export interface CenterPositionModel {
    /**
     * latitude for the center position of maps
     * @default null
     */
    latitude?: number;
    /**
     * longitude for the center position of maps
     * @default null
     */
    longitude?: number;
}
/**
 * Interface for a class TooltipSettings
 */
export interface TooltipSettingsModel {
    /**
     * Toggle the tooltip visibility.
     * @default false
     */
    visible?: boolean;
    /**
     * To customize the tooltip template.
     * @default ''
     */
    template?: string;
    /**
     * To customize the fill color of the tooltip.
     */
    fill?: string;
    /**
     * Options for customizing the color and width of the tooltip.
     */
    border?: BorderModel;
    /**
     * Options for customizing text styles of the tooltip.
     */
    textStyle?: FontModel;
    /**
     * To customize the format of the tooltip.
     * @default null
     */
    format?: string;
    /**
     * To customize the value of the tooltip.
     * @default null
     */
    valuePath?: 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 MarkerClusterSettings
 */
export interface MarkerClusterSettingsModel {
    /**
     * Toggle the Clustering visibility.
     * @default false
     */
    allowClustering?: boolean;
    /**
     * Options for customizing the color and width of the Clustering.
     */
    border?: BorderModel;
    /**
     * To customize the fill color of the Clustering.
     * @default '#D2691E'
     */
    fill?: string;
    /**
     * To customize the opacity of the Clustering.
     * @default 1
     */
    opacity?: number;
    /**
     * To customize the Clustering of the marker.
     * @default Rectangle
     */
    shape?: MarkerType;
    /**
     * Customize the legend width of the maps.
     * @default 12
     */
    width?: number;
    /**
     * Customize the legend height of the maps.
     * @default 12
     */
    height?: number;
    /**
     * To move the marker by setting offset values
     */
    offset?: Point;
    /**
     * To provide the image url for rendering marker image
     */
    imageUrl?: string;
    /**
     * dashArray
     *  @default ''
     */
    dashArray?: string;
    /**
     * cluster style
     */
    labelStyle?: FontModel;
}
/**
 * Interface for a class ColorMappingSettings
 */
export interface ColorMappingSettingsModel {
    /**
     * To configure from
     * @aspDefaultValueIgnore
     * @default null
     */
    from?: number;
    /**
     * To configure to
     * @aspDefaultValueIgnore
     * @default null
     */
    to?: number;
    /**
     * To configure value
     * @default null
     */
    value?: string;
    /**
     * To configure color
     * @default null
     */
    color?: string | string[];
    /**
     * To configure min opacity
     * @default null
     */
    minOpacity?: number;
    /**
     * To configure max opacity
     * @default null
     */
    maxOpacity?: number;
    /**
     * To configure labels
     * @default null
     */
    label?: string;
    /**
     * To enable or disable the legend
     * @default true
     */
    showLegend?: boolean;
}
/**
 * Interface for a class SelectionSettings
 */
export interface SelectionSettingsModel {
    /**
     * Toggle the selection settings.
     * @default false
     */
    enable?: boolean;
    /**
     * To customize the fill color of the Selection.
     * @default null
     */
    fill?: string;
    /**
     * To customize the opacity of the Selection.
     * @default 1
     */
    opacity?: number;
    /**
     * Toggle the multi selection.
     * @default false
     */
    enableMultiSelect?: boolean;
    /**
     * Options for customizing the color and width of the selection.
     */
    border?: BorderModel;
}
/**
 * Interface for a class HighlightSettings
 */
export interface HighlightSettingsModel {
    /**
     * To customize the fill color of the highlight.
     * @default null
     */
    fill?: string;
    /**
     * Toggle the highlight settings.
     * @default false
     */
    enable?: boolean;
    /**
     * To customize the opacity of the highlight.
     * @default 1
     */
    opacity?: number;
    /**
     * Options for customizing the color and width of the highlight.
     */
    border?: BorderModel;
}
/**
 * Interface for a class NavigationLineSettings
 */
export interface NavigationLineSettingsModel {
    /**
     * NavigationSelectedLine visible
     *  @default false
     */
    visible?: boolean;
    /**
     * Configures the label border
     * @default 1
     */
    width?: number;
    /**
     * NavigationSelectedLine longitude
     *  @default []
     */
    longitude?: number[];
    /**
     * NavigationSelectedLine latitude
     *  @default []
     */
    latitude?: number[];
    /**
     * dashArray
     *  @default ''
     */
    dashArray?: string;
    /**
     * NavigationSelectedLine color
     */
    color?: string;
    /**
     * Specifies the angle of curve connecting different locations in map
     * @default 0
     */
    angle?: number;
    /**
     * arrow
     */
    arrowSettings?: ArrowModel;
    /**
     * To configure the selection settings of the maps.
     */
    selectionSettings?: SelectionSettingsModel;
    /**
     * To configure the highlight settings of the maps.
     */
    highlightSettings?: HighlightSettingsModel;
}
/**
 * Interface for a class BubbleSettings
 */
export interface BubbleSettingsModel {
    /**
     * Configures the bubble border
     */
    border?: BorderModel;
    /**
     * Toggle the visibility of bubble
     * @default false
     */
    visible?: boolean;
    /**
     * Specifies the data source for bubble.
     * @isdatamanager false
     * @isObservable true
     * @default []
     */
    dataSource?: object[];
    /**
     * To configure bubble animation duration
     * @default 1000
     */
    animationDuration?: number;
    /**
     * Animation duration
     * @default 0
     */
    animationDelay?: number;
    /**
     * To configure bubble fill color
     * @default ''
     */
    fill?: string;
    /**
     * To configure bubble minRadius
     * @default 10
     */
    minRadius?: number;
    /**
     * To configure bubble maxRadius
     * @default 20
     */
    maxRadius?: number;
    /**
     * To configure bubble opacity
     * @default 1
     */
    opacity?: number;
    /**
     * To configure bubble valuePath
     * @default null
     */
    valuePath?: string;
    /**
     * To configure bubble shape type
     * @default Circle
     */
    bubbleType?: BubbleType;
    /**
     * To configure bubble colorValuePath
     * @default null
     */
    colorValuePath?: string;
    /**
     * To configure bubble colorMapping
     * @default []
     */
    colorMapping?: ColorMappingSettingsModel[];
    /**
     * To configure the tooltip settings of the bubble .
     */
    tooltipSettings?: TooltipSettingsModel;
    /**
     * To configure the selection settings of the maps.
     */
    selectionSettings?: SelectionSettingsModel;
    /**
     * To configure the highlight settings of the maps.
     */
    highlightSettings?: HighlightSettingsModel;
}
/**
 * Interface for a class CommonTitleSettings
 */
export interface CommonTitleSettingsModel {
    /**
     * To customize the text of the title.
     * @default ''
     */
    text?: string;
    /**
     * To customize title description for the accessibility.
     * @default ''
     */
    description?: string;
}
/**
 * Interface for a class SubTitleSettings
 */
export interface SubTitleSettingsModel extends CommonTitleSettingsModel{
    /**
     * Options for customizing title styles of the Maps.
     */
    textStyle?: FontModel;
    /**
     * text alignment
     * @default Center
     */
    alignment?: Alignment;
}
/**
 * Interface for a class TitleSettings
 */
export interface TitleSettingsModel extends CommonTitleSettingsModel{
    /**
     * Options for customizing title styles of the Maps.
     */
    textStyle?: FontModel;
    /**
     * text alignment
     * @default Center
     */
    alignment?: Alignment;
    /**
     * To configure sub title of maps.
     */
    subtitleSettings?: SubTitleSettingsModel;
}
/**
 * Interface for a class ZoomSettings
 */
export interface ZoomSettingsModel {
    /**
     * Toggle the visibility of zooming.
     * @default false
     */
    enable?: boolean;
    /**
     * Configures tool bar orientation
     * @default Horizontal
     * @blazorProperty 'ToolbarOrientation'
     */
    toolBarOrientation?: Orientation;
    /**
     * Specifies the tool bar color.
     */
    color?: string;
    /**
     * Specifies the tool bar highlight color.
     */
    highlightColor?: string;
    /**
     * Specifies the tool bar selection color.
     * 
     */
    selectionColor?: string;
    /**
     * Configures vertical placement of tool bar 
     * @default Far
     */
    horizontalAlignment?: Alignment;
    /**
     * Configures vertical placement of tool bar 
     * @default Near
     */
    verticalAlignment?: Alignment;
    /**
     * To configure zooming items.
     */
    toolbars?: string[];
    /**
     * Toggle the mouse wheel zooming.
     * @default true
     */
    mouseWheelZoom?: boolean;
    /**
     * Double tab zooming
     * @default false
     * @blazorProperty 'ZoomOnDoubleClick'
     */
    doubleClickZoom?: boolean;
    /**
     * Toggle the pinch zooming.
     * @default true
     */
    pinchZooming?: boolean;
    /**
     * Toggle the selection on zooming.
     * @default false
     */
    zoomOnClick?: boolean;
    /**
     * Configures zoom factor.
     * @default 1
     */
    zoomFactor?: number;
    /**
     * Configures max zooming.
     * @default 10
     */
    maxZoom?: number;
    /**
     * Configures minimum zooming.
     * @default 1
     */
    minZoom?: number;
}
/**
 * Interface for a class ToggleLegendSettings
 */
export interface ToggleLegendSettingsModel {
    /**
     * To toggle the legend
     * @default false
     */
    enable?: boolean;
    /**
     * To apply the shape settings
     * @default true
     */
    applyShapeSettings?: boolean;
    /**
     * To specify the opacity of the shape
     * @default 1
     */
    opacity?: number;
    /**
     * To fill the color for shape
     * @default ''
     */
    fill?: string;
    /**
     * To apply border for the shapes
     */
    border?: BorderModel;
}
/**
 * Interface for a class LegendSettings
 */
export interface LegendSettingsModel {
    /**
     * Toggle the legend selection
     * @default false
     */
    toggleVisibility?: boolean;
    /**
     * Toggle the legend visibility.
     * @default false
     */
    visible?: boolean;
    /**
     * Customize the legend background
     * @default 'transparent'
     */
    background?: string;
    /**
     * Type of the legend rendering
     * @default Layers
     */
    type?: LegendType;
    /**
     * Inverted pointer for interactive legend
     */
    invertedPointer?: boolean;
    /**
     * To place the label position for interactive legend.
     * @default After
     */
    labelPosition?: LabelPosition;
    /**
     * Specifies the label intersect action.
     * @default None
     */
    labelDisplayMode?: LabelIntersectAction;
    /**
     * Customize the legend shape of the maps.
     * @default Circle
     */
    shape?: LegendShape;
    /**
     * Customize the legend width of the maps.
     * @default ''
     */
    width?: string;
    /**
     * Customize the legend height of the maps.
     * @default ''
     */
    height?: string;
    /**
     * Options for customizing text styles of the legend.
     */
    textStyle?: FontModel;
    /**
     * Customize the legend width of the maps.
     * @default 15
     */
    shapeWidth?: number;
    /**
     * Customize the legend height of the maps.
     * @default 15
     */
    shapeHeight?: number;
    /**
     * Customize the shape padding
     * @default 10
     */
    shapePadding?: number;
    /**
     * Options for customizing the color and width of the legend border.
     */
    border?: BorderModel;
    /**
     * Options for customizing the color and width of the shape border.
     */
    shapeBorder?: BorderModel;
    /**
     * To configure the title of the legend.
     */
    title?: CommonTitleSettingsModel;
    /**
     * Options for customizing text styles of the legend.
     */
    titleStyle?: FontModel;
    /**
     * Customize the legend position of the maps.
     * @default Bottom
     */
    position?: LegendPosition;
    /**
     * Customize the legend alignment of the maps.
     * @default Center
     */
    alignment?: Alignment;
    /**
     * Customize the legend items placed
     * @default None
     */
    orientation?: LegendArrangement;
    /**
     * Customize the legend placed by given x and y values. 
     */
    location?: Point;
    /**
     * Specifies the legend shape color
     */
    fill?: string;
    /**
     * Specifies the opacity of legend shape color
     * @default 1
     */
    opacity?: number;
    /**
     * Customize the legend mode.
     * @default Default
     */
    mode?: LegendMode;
    /**
     * Enable or disable the visibility of legend
     * @default null
     * @blazorProperty 'LegendPath'
     */
    showLegendPath?: string;
    /**
     * Bind the dataSource field for legend
     * @default null
     */
    valuePath?: string;
    /**
     * Removes the duplicate legend item
     * @default false
     */
    removeDuplicateLegend?: boolean;
    /**
     * Options for customizing the color and width of the selection.
     */
    toggleLegendSettings?: ToggleLegendSettingsModel;
}
/**
 * Interface for a class DataLabelSettings
 */
export interface DataLabelSettingsModel {
    /**
     * Toggle the data label visibility.
     * @default false
     */
    visible?: boolean;
    /**
     * Configures the label border
     */
    border?: BorderModel;
    /**
     * configure the fill
     */
    fill?: string;
    /**
     * configure the label opacity
     */
    opacity?: number;
    /**
     * rectangle rx 
     * @default 10
     */
    rx?: number;
    /**
     * ry value
     * @default 10
     */
    ry?: number;
    /**
     * Options for customizing text styles of the data label.
     */
    textStyle?: FontModel;
    /**
     * To customize the label path values.
     * @default ''
     */
    labelPath?: string;
    /**
     * To customize the smartLabels.
     * @default None
     */
    smartLabelMode?: SmartLabelMode;
    /**
     * intersection action
     * @default None
     */
    intersectionAction?: IntersectAction;
    /**
     * To customize the data label template.
     * @default ''
     */
    template?: string;
}
/**
 * Interface for a class ShapeSettings
 */
export interface ShapeSettingsModel {
    /**
     * To customize the fill color of the shape.
     * @default '#A6A6A6'
     */
    fill?: string;
    /**
     * To customize the palette of the shape.
     * @default []
     */
    palette?: string[];
    /**
     * Customize the radius for points
     */
    circleRadius?: number;
    /**
     * Options for customizing the color and width of the shape.
     */
    border?: BorderModel;
    /**
     * Dash array of line
     */
    dashArray?: string;
    /**
     * To customize the opacity of the shape.
     * @default 1
     */
    opacity?: number;
    /**
     * To customize the colorValuePath of the shape.
     * @default null
     */
    colorValuePath?: string;
    /**
     * To customize the valuePath of the shape.
     * @default null
     */
    valuePath?: string;
    /**
     * To configure shape colorMapping
     * @default []
     */
    colorMapping?: ColorMappingSettingsModel[];
    /**
     * Toggle the auto fill.
     * @default false
     */
    autofill?: boolean;
}
/**
 * Interface for a class MarkerBase
 */
export interface MarkerBaseModel {
    /**
     * Options for customizing the color and width of the marker.
     */
    border?: BorderModel;
    /**
     * Options for customizing the dash array options
     */
    dashArray?: string;
    /**
     * Toggle the visibility of the marker.
     * @default false
     */
    visible?: boolean;
    /**
     * To customize the fill color of the marker.
     * @default '#FF471A'
     */
    fill?: string;
    /**
     * To customize the height of the marker.
     * @default 10
     */
    height?: number;
    /**
     * To customize the width of the marker.
     * @default 10
     */
    width?: number;
    /**
     * To customize the opacity of the marker.
     * @default 1
     */
    opacity?: number;
    /**
     * To customize the shape of the marker.
     * @default Balloon
     */
    shape?: MarkerType;
    /**
     * To provide the dataSource field to display legend text
     * @default ''
     */
    legendText?: string;
    /**
     * To move the marker by setting offset values
     */
    offset?: Point;
    /**
     * To provide the image url for rendering marker image
     */
    imageUrl?: string;
    /**
     * To customize the template of the marker.
     * @default null
     */
    template?: string;
    /**
     * To configure the dataSource of the marker.
     * @isdatamanager false
     * @isObservable true
     * @default []
     */
    dataSource?: Object[];
    /**
     * To configure the tooltip settings of the maps marker.
     */
    tooltipSettings?: TooltipSettingsModel;
    /**
     * Animation duration time
     * @default 1000
     */
    animationDuration?: number;
    /**
     * Animation delay time
     * @default 0
     */
    animationDelay?: number;
    /**
     * To configure the selection settings of the maps.
     */
    selectionSettings?: SelectionSettingsModel;
    /**
     * To configure the highlight settings of the maps.
     */
    highlightSettings?: HighlightSettingsModel;
}
/**
 * Interface for a class MarkerSettings
 */
export interface MarkerSettingsModel extends MarkerBaseModel{
}
/**
 * Interface for a class LayerSettings
 */
export interface LayerSettingsModel {
    /**
     * Specifies the shape data for the layer.
     * @isdatamanager false
     * @default null
     */
    shapeData?: object | data.DataManager | MapAjax;
    /**
     * Specifies the query to select particular data from the shape data. 
     * This property is applicable only when the DataSource is `ej.data.DataManager`.
     * @default null
     */
    query?: data.Query;
    /**
     * Specifies the shape properties 
     */
    shapeSettings?: ShapeSettingsModel;
    /**
     * Specifies the data source for the layer.
     * @isdatamanager false
     * @isObservable true
     * @default []
     */
    dataSource?: object[] | data.DataManager | MapAjax;
    /**
     * Specifies the type for the layer.
     * @default Layer
     */
    type?: Type;
    /**
     * Specifies the geometry type
     * @default Geographic
     */
    geometryType?: GeometryType;
    /**
     * Specifies the type for the bing map.
     * @default Aerial
     */
    bingMapType?: BingMapType;
    /**
     * Specifies the key for the layer.
     * @default ''
     */
    key?: string;
    /**
     * Specifies the layerType for the layer.
     * @default Geometry
     */
    layerType?: ShapeLayerType;
    /**
     * Specifies the urlTemplate for the layer.
     * @default 'https://a.tile.openstreetmap.org/level/tileX/tileY.png'
     */
    urlTemplate?: string;
    /**
     * Toggle the visibility of the layers.
     * @default true
     */
    visible?: boolean;
    /**
     * Specifies the shapeDataPath for the layer.
     * @default 'name'
     */
    shapeDataPath?: string;
    /**
     * Specifies the shapePropertyPath for the layer.
     * @default 'name'
     */
    shapePropertyPath?: string | string[];
    /**
     * Specifies the animation duration for the layer.
     * @default 0
     */
    animationDuration?: number;
    /**
     * To configure the marker settings.
     */
    markerSettings?: MarkerSettingsModel[];
    /**
     * To configure the cluster settings.
     */
    markerClusterSettings?: MarkerClusterSettingsModel;
    /**
     * To configure the datalabel settings of the maps.
     */
    dataLabelSettings?: DataLabelSettingsModel;
    /**
     * To configure the bubble settings of the maps.
     */
    bubbleSettings?: BubbleSettingsModel[];
    /**
     * navigationLineSetting
     */
    navigationLineSettings?: NavigationLineSettingsModel[];
    /**
     * To configure the tooltip settings of the maps layer.
     */
    tooltipSettings?: TooltipSettingsModel;
    /**
     * To configure the selection settings of the maps.
     */
    selectionSettings?: SelectionSettingsModel;
    /**
     * To configure the highlight settings of the maps.
     */
    highlightSettings?: HighlightSettingsModel;
    /**
     * To configure the legend toggle settings.
     */
    toggleLegendSettings?: ToggleLegendSettingsModel;
}
/**
 * Interface for a class Tile
 */
export interface TileModel {
}
/**
 * Interface for a class MapsAreaSettings
 */
export interface MapsAreaSettingsModel {
    /**
     * To configure maps area background color
     */
    background?: string;
    /**
     * Options for customizing the color and width of maps area.
     */
    border?: BorderModel;
}
//node_modules/@syncfusion/ej2-maps/src/maps/model/base.d.ts
/**
 * Maps base document
 */
/**
 * Options for customizing the annotation.
 */
export  class Annotation extends base.ChildProperty<Annotation> {
    /**
     * Specifies the id of html element.
     */
    content: string;
    /**
     * Specifies the position of x.
     */
    x: string;
    /**
     * Specifies the position of y.
     */
    y: string;
    /**
     * Specifies the vertical alignment of annotation.
     * @default None
     */
    verticalAlignment: AnnotationAlignment;
    /**
     * Specifies the horizontal alignment of annotation.
     * @default None
     */
    horizontalAlignment: AnnotationAlignment;
    /**
     * Specifies the zIndex of the annotation.
     * @default '-1'
     */
    zIndex: string;
}
export  class Arrow extends base.ChildProperty<Arrow> {
    /**
     * arrowPosition
     */
    position: string;
    /**
     * show
     */
    showArrow: boolean;
    /**
     * size
     */
    size: number;
    /**
     * color
     */
    color: string;
    /**
     * offset the arrow in navigation line by specified pixels
     */
    offSet: number;
}
/**
 * Configures the fonts in maps.
 */
export  class Font extends base.ChildProperty<Font> {
    /**
     * 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;
}
/**
 * Configures the borders in the maps.
 */
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.
     */
    color: string;
    /**
     * The width of the border in pixels.
     */
    width: number;
}
/**
 * Configures the center position in the maps.
 */
export  class CenterPosition extends base.ChildProperty<CenterPosition> {
    /**
     * latitude for the center position of maps
     * @default null
     */
    latitude: number;
    /**
     * longitude for the center position of maps
     * @default null
     */
    longitude: number;
}
/**
 * To configure the tooltip settings of the maps.
 */
export  class TooltipSettings extends base.ChildProperty<TooltipSettings> {
    /**
     * Toggle the tooltip visibility.
     * @default false
     */
    visible: boolean;
    /**
     * To customize the tooltip template.
     * @default ''
     */
    template: string;
    /**
     * To customize the fill color of the tooltip.
     */
    fill: string;
    /**
     * Options for customizing the color and width of the tooltip.
     */
    border: BorderModel;
    /**
     * Options for customizing text styles of the tooltip.
     */
    textStyle: FontModel;
    /**
     * To customize the format of the tooltip.
     * @default null
     */
    format: string;
    /**
     * To customize the value of the tooltip.
     * @default null
     */
    valuePath: string;
}
/**
 * Configures the maps 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;
}
/**
 * To configure cluster in marker
 */
export  class MarkerClusterSettings extends base.ChildProperty<MarkerClusterSettings> {
    /**
     * Toggle the Clustering visibility.
     * @default false
     */
    allowClustering: boolean;
    /**
     * Options for customizing the color and width of the Clustering.
     */
    border: BorderModel;
    /**
     * To customize the fill color of the Clustering.
     * @default '#D2691E'
     */
    fill: string;
    /**
     * To customize the opacity of the Clustering.
     * @default 1
     */
    opacity: number;
    /**
     * To customize the Clustering of the marker.
     * @default Rectangle
     */
    shape: MarkerType;
    /**
     * Customize the legend width of the maps.
     * @default 12
     */
    width: number;
    /**
     * Customize the legend height of the maps.
     * @default 12
     */
    height: number;
    /**
     * To move the marker by setting offset values
     */
    offset: Point;
    /**
     * To provide the image url for rendering marker image
     */
    imageUrl: string;
    /**
     * dashArray
     *  @default ''
     */
    dashArray: string;
    /**
     * cluster style
     */
    labelStyle: FontModel;
}
/**
 * To configure ColorMapping in Maps
 */
export  class ColorMappingSettings extends base.ChildProperty<ColorMappingSettings> {
    /**
     * To configure from
     * @aspDefaultValueIgnore
     * @default null
     */
    from: number;
    /**
     * To configure to
     * @aspDefaultValueIgnore
     * @default null
     */
    to: number;
    /**
     * To configure value
     * @default null
     */
    value: string;
    /**
     * To configure color
     * @default null
     */
    color: string | string[];
    /**
     * To configure min opacity
     * @default null
     */
    minOpacity: number;
    /**
     * To configure max opacity
     * @default null
     */
    maxOpacity: number;
    /**
     * To configure labels
     * @default null
     */
    label: string;
    /**
     * To enable or disable the legend
     * @default true
     */
    showLegend: boolean;
}
/**
 * To configure the selection settings
 */
export  class SelectionSettings extends base.ChildProperty<SelectionSettings> {
    /**
     * Toggle the selection settings.
     * @default false
     */
    enable: boolean;
    /**
     * To customize the fill color of the Selection.
     * @default null
     */
    fill: string;
    /**
     * To customize the opacity of the Selection.
     * @default 1
     */
    opacity: number;
    /**
     * Toggle the multi selection.
     * @default false
     */
    enableMultiSelect: boolean;
    /**
     * Options for customizing the color and width of the selection.
     */
    border: BorderModel;
}
/**
 * To configure the highlight settings
 */
export  class HighlightSettings extends base.ChildProperty<HighlightSettings> {
    /**
     * To customize the fill color of the highlight.
     * @default null
     */
    fill: string;
    /**
     * Toggle the highlight settings.
     * @default false
     */
    enable: boolean;
    /**
     * To customize the opacity of the highlight.
     * @default 1
     */
    opacity: number;
    /**
     * Options for customizing the color and width of the highlight.
     */
    border: BorderModel;
}
/**
 * NavigationSelectedLine
 */
export  class NavigationLineSettings extends base.ChildProperty<NavigationLineSettings> {
    /**
     * NavigationSelectedLine visible
     *  @default false
     */
    visible: boolean;
    /**
     * Configures the label border
     * @default 1
     */
    width: number;
    /**
     * NavigationSelectedLine longitude
     *  @default []
     */
    longitude: number[];
    /**
     * NavigationSelectedLine latitude
     *  @default []
     */
    latitude: number[];
    /**
     * dashArray
     *  @default ''
     */
    dashArray: string;
    /**
     * NavigationSelectedLine color
     */
    color: string;
    /**
     * Specifies the angle of curve connecting different locations in map
     * @default 0
     */
    angle: number;
    /**
     * arrow
     */
    arrowSettings: ArrowModel;
    /**
     * To configure the selection settings of the maps.
     */
    selectionSettings: SelectionSettingsModel;
    /**
     * To configure the highlight settings of the maps.
     */
    highlightSettings: HighlightSettingsModel;
}
/**
 * Bubble settings model class
 */
export  class BubbleSettings extends base.ChildProperty<BubbleSettings> {
    /**
     * Configures the bubble border
     */
    border: BorderModel;
    /**
     * Toggle the visibility of bubble
     * @default false
     */
    visible: boolean;
    /**
     * Specifies the data source for bubble.
     * @isdatamanager false
     * @isObservable true
     * @default []
     */
    dataSource: object[];
    /**
     * To configure bubble animation duration
     * @default 1000
     */
    animationDuration: number;
    /**
     * Animation duration
     * @default 0
     */
    animationDelay: number;
    /**
     * To configure bubble fill color
     * @default ''
     */
    fill: string;
    /**
     * To configure bubble minRadius
     * @default 10
     */
    minRadius: number;
    /**
     * To configure bubble maxRadius
     * @default 20
     */
    maxRadius: number;
    /**
     * To configure bubble opacity
     * @default 1
     */
    opacity: number;
    /**
     * To configure bubble valuePath
     * @default null
     */
    valuePath: string;
    /**
     * To configure bubble shape type
     * @default Circle
     */
    bubbleType: BubbleType;
    /**
     * To configure bubble colorValuePath
     * @default null
     */
    colorValuePath: string;
    /**
     * To configure bubble colorMapping
     * @default []
     */
    colorMapping: ColorMappingSettingsModel[];
    /**
     * To configure the tooltip settings of the bubble .
     */
    tooltipSettings: TooltipSettingsModel;
    /**
     * To configure the selection settings of the maps.
     */
    selectionSettings: SelectionSettingsModel;
    /**
     * To configure the highlight settings of the maps.
     */
    highlightSettings: HighlightSettingsModel;
}
/**
 * To configure title of the maps.
 */
export  class CommonTitleSettings extends base.ChildProperty<CommonTitleSettings> {
    /**
     * To customize the text of the title.
     * @default ''
     */
    text: string;
    /**
     * To customize title description for the accessibility.
     * @default ''
     */
    description: string;
}
/**
 * To configure subtitle of the maps.
 */
export  class SubTitleSettings extends CommonTitleSettings {
    /**
     * Options for customizing title styles of the Maps.
     */
    textStyle: FontModel;
    /**
     * text alignment
     * @default Center
     */
    alignment: Alignment;
}
/**
 * To configure title of the maps.
 */
export  class TitleSettings extends CommonTitleSettings {
    /**
     * Options for customizing title styles of the Maps.
     */
    textStyle: FontModel;
    /**
     * text alignment
     * @default Center
     */
    alignment: Alignment;
    /**
     * To configure sub title of maps.
     */
    subtitleSettings: SubTitleSettingsModel;
}
/**
 * Options to configure maps Zooming Settings.
 */
export  class ZoomSettings extends base.ChildProperty<ZoomSettings> {
    /**
     * Toggle the visibility of zooming.
     * @default false
     */
    enable: boolean;
    /**
     * Configures tool bar orientation
     * @default Horizontal
     * @blazorProperty 'ToolbarOrientation'
     */
    toolBarOrientation: Orientation;
    /**
     * Specifies the tool bar color.
     */
    color: string;
    /**
     * Specifies the tool bar highlight color.
     */
    highlightColor: string;
    /**
     * Specifies the tool bar selection color.
     *
     */
    selectionColor: string;
    /**
     * Configures vertical placement of tool bar
     * @default Far
     */
    horizontalAlignment: Alignment;
    /**
     * Configures vertical placement of tool bar
     * @default Near
     */
    verticalAlignment: Alignment;
    /**
     * To configure zooming items.
     */
    toolbars: string[];
    /**
     * Toggle the mouse wheel zooming.
     * @default true
     */
    mouseWheelZoom: boolean;
    /**
     * Double tab zooming
     * @default false
     * @blazorProperty 'ZoomOnDoubleClick'
     */
    doubleClickZoom: boolean;
    /**
     * Toggle the pinch zooming.
     * @default true
     */
    pinchZooming: boolean;
    /**
     * Toggle the selection on zooming.
     * @default false
     */
    zoomOnClick: boolean;
    /**
     * Configures zoom factor.
     * @default 1
     */
    zoomFactor: number;
    /**
     * Configures max zooming.
     * @default 10
     */
    maxZoom: number;
    /**
     * Configures minimum zooming.
     * @default 1
     */
    minZoom: number;
}
/**
 * To configure the toggle legend settings in the maps
 */
export  class ToggleLegendSettings extends base.ChildProperty<ToggleLegendSettings> {
    /**
     * To toggle the legend
     * @default false
     */
    enable: boolean;
    /**
     * To apply the shape settings
     * @default true
     */
    applyShapeSettings: boolean;
    /**
     * To specify the opacity of the shape
     * @default 1
     */
    opacity: number;
    /**
     * To fill the color for shape
     * @default ''
     */
    fill: string;
    /**
     * To apply border for the shapes
     */
    border: BorderModel;
}
/**
 * Configures the legend settings.
 */
export  class LegendSettings extends base.ChildProperty<LegendSettings> {
    /**
     * Toggle the legend selection
     * @default false
     */
    toggleVisibility: boolean;
    /**
     * Toggle the legend visibility.
     * @default false
     */
    visible: boolean;
    /**
     * Customize the legend background
     * @default 'transparent'
     */
    background: string;
    /**
     * Type of the legend rendering
     * @default Layers
     */
    type: LegendType;
    /**
     * Inverted pointer for interactive legend
     */
    invertedPointer: boolean;
    /**
     * To place the label position for interactive legend.
     * @default After
     */
    labelPosition: LabelPosition;
    /**
     * Specifies the label intersect action.
     * @default None
     */
    labelDisplayMode: LabelIntersectAction;
    /**
     * Customize the legend shape of the maps.
     * @default Circle
     */
    shape: LegendShape;
    /**
     * Customize the legend width of the maps.
     * @default ''
     */
    width: string;
    /**
     * Customize the legend height of the maps.
     * @default ''
     */
    height: string;
    /**
     * Options for customizing text styles of the legend.
     */
    textStyle: FontModel;
    /**
     * Customize the legend width of the maps.
     * @default 15
     */
    shapeWidth: number;
    /**
     * Customize the legend height of the maps.
     * @default 15
     */
    shapeHeight: number;
    /**
     * Customize the shape padding
     * @default 10
     */
    shapePadding: number;
    /**
     * Options for customizing the color and width of the legend border.
     */
    border: BorderModel;
    /**
     * Options for customizing the color and width of the shape border.
     */
    shapeBorder: BorderModel;
    /**
     * To configure the title of the legend.
     */
    title: CommonTitleSettingsModel;
    /**
     * Options for customizing text styles of the legend.
     */
    titleStyle: FontModel;
    /**
     * Customize the legend position of the maps.
     * @default Bottom
     */
    position: LegendPosition;
    /**
     * Customize the legend alignment of the maps.
     * @default Center
     */
    alignment: Alignment;
    /**
     * Customize the legend items placed
     * @default None
     */
    orientation: LegendArrangement;
    /**
     * Customize the legend placed by given x and y values.
     */
    location: Point;
    /**
     * Specifies the legend shape color
     */
    fill: string;
    /**
     * Specifies the opacity of legend shape color
     * @default 1
     */
    opacity: number;
    /**
     * Customize the legend mode.
     * @default Default
     */
    mode: LegendMode;
    /**
     * Enable or disable the visibility of legend
     * @default null
     * @blazorProperty 'LegendPath'
     */
    showLegendPath: string;
    /**
     * Bind the dataSource field for legend
     * @default null
     */
    valuePath: string;
    /**
     * Removes the duplicate legend item
     * @default false
     */
    removeDuplicateLegend: boolean;
    /**
     * Options for customizing the color and width of the selection.
     */
    toggleLegendSettings: ToggleLegendSettingsModel;
}
/**
 * Customization for Data label settings.
 */
export  class DataLabelSettings extends base.ChildProperty<DataLabelSettings> {
    /**
     * Toggle the data label visibility.
     * @default false
     */
    visible: boolean;
    /**
     * Configures the label border
     */
    border: BorderModel;
    /**
     * configure the fill
     */
    fill: string;
    /**
     * configure the label opacity
     */
    opacity: number;
    /**
     * rectangle rx
     * @default 10
     */
    rx: number;
    /**
     * ry value
     * @default 10
     */
    ry: number;
    /**
     * Options for customizing text styles of the data label.
     */
    textStyle: FontModel;
    /**
     * To customize the label path values.
     * @default ''
     */
    labelPath: string;
    /**
     * To customize the smartLabels.
     * @default None
     */
    smartLabelMode: SmartLabelMode;
    /**
     * intersection action
     * @default None
     */
    intersectionAction: IntersectAction;
    /**
     * To customize the data label template.
     * @default ''
     */
    template: string;
}
/**
 * To configure the shapeSettings in the maps.
 */
export  class ShapeSettings extends base.ChildProperty<ShapeSettings> {
    /**
     * To customize the fill color of the shape.
     * @default '#A6A6A6'
     */
    fill: string;
    /**
     * To customize the palette of the shape.
     * @default []
     */
    palette: string[];
    /**
     * Customize the radius for points
     */
    circleRadius: number;
    /**
     * Options for customizing the color and width of the shape.
     */
    border: BorderModel;
    /**
     * Dash array of line
     */
    dashArray: string;
    /**
     * To customize the opacity of the shape.
     * @default 1
     */
    opacity: number;
    /**
     * To customize the colorValuePath of the shape.
     * @default null
     */
    colorValuePath: string;
    /**
     * To customize the valuePath of the shape.
     * @default null
     */
    valuePath: string;
    /**
     * To configure shape colorMapping
     * @default []
     */
    colorMapping: ColorMappingSettingsModel[];
    /**
     * Toggle the auto fill.
     * @default false
     */
    autofill: boolean;
}
/**
 * To configure the marker settings for the maps.
 */
export  class MarkerBase extends base.ChildProperty<MarkerBase> {
    /**
     * Options for customizing the color and width of the marker.
     */
    border: BorderModel;
    /**
     * Options for customizing the dash array options
     */
    dashArray: string;
    /**
     * Toggle the visibility of the marker.
     * @default false
     */
    visible: boolean;
    /**
     * To customize the fill color of the marker.
     * @default '#FF471A'
     */
    fill: string;
    /**
     * To customize the height of the marker.
     * @default 10
     */
    height: number;
    /**
     * To customize the width of the marker.
     * @default 10
     */
    width: number;
    /**
     * To customize the opacity of the marker.
     * @default 1
     */
    opacity: number;
    /**
     * To customize the shape of the marker.
     * @default Balloon
     */
    shape: MarkerType;
    /**
     * To provide the dataSource field to display legend text
     * @default ''
     */
    legendText: string;
    /**
     * To move the marker by setting offset values
     */
    offset: Point;
    /**
     * To provide the image url for rendering marker image
     */
    imageUrl: string;
    /**
     * To customize the template of the marker.
     * @default null
     */
    template: string;
    /**
     * To configure the dataSource of the marker.
     * @isdatamanager false
     * @isObservable true
     * @default []
     */
    dataSource: Object[];
    /**
     * To configure the tooltip settings of the maps marker.
     */
    tooltipSettings: TooltipSettingsModel;
    /**
     * Animation duration time
     * @default 1000
     */
    animationDuration: number;
    /**
     * Animation delay time
     * @default 0
     */
    animationDelay: number;
    /**
     * To configure the selection settings of the maps.
     */
    selectionSettings: SelectionSettingsModel;
    /**
     * To configure the highlight settings of the maps.
     */
    highlightSettings: HighlightSettingsModel;
}
export  class MarkerSettings extends MarkerBase {
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
}
/**
 * To configure the layers of the maps.
 */
export  class LayerSettings extends base.ChildProperty<LayerSettings> {
    /**
     * Specifies the shape data for the layer.
     * @isdatamanager false
     * @default null
     */
    shapeData: object | data.DataManager | MapAjax;
    /**
     * Specifies the query to select particular data from the shape data.
     * This property is applicable only when the DataSource is `ej.data.DataManager`.
     * @default null
     */
    query: data.Query;
    /**
     * Specifies the shape properties
     */
    shapeSettings: ShapeSettingsModel;
    /**
     * Specifies the data source for the layer.
     * @isdatamanager false
     * @isObservable true
     * @default []
     */
    dataSource: object[] | data.DataManager | MapAjax;
    /**
     * Specifies the type for the layer.
     * @default Layer
     */
    type: Type;
    /**
     * Specifies the geometry type
     * @default Geographic
     */
    geometryType: GeometryType;
    /**
     * Specifies the type for the bing map.
     * @default Aerial
     */
    bingMapType: BingMapType;
    /**
     * Specifies the key for the layer.
     * @default ''
     */
    key: string;
    /**
     * Specifies the layerType for the layer.
     * @default Geometry
     */
    layerType: ShapeLayerType;
    /**
     * Specifies the urlTemplate for the layer.
     * @default 'https://a.tile.openstreetmap.org/level/tileX/tileY.png'
     */
    urlTemplate: string;
    /**
     * Toggle the visibility of the layers.
     * @default true
     */
    visible: boolean;
    /**
     * Specifies the shapeDataPath for the layer.
     * @default 'name'
     */
    shapeDataPath: string;
    /**
     * Specifies the shapePropertyPath for the layer.
     * @default 'name'
     */
    shapePropertyPath: string | string[];
    /**
     * Specifies the animation duration for the layer.
     * @default 0
     */
    animationDuration: number;
    /**
     * To configure the marker settings.
     */
    markerSettings: MarkerSettingsModel[];
    /**
     * To configure the cluster settings.
     */
    markerClusterSettings: MarkerClusterSettingsModel;
    /**
     * To configure the datalabel settings of the maps.
     */
    dataLabelSettings: DataLabelSettingsModel;
    /**
     * To configure the bubble settings of the maps.
     */
    bubbleSettings: BubbleSettingsModel[];
    /**
     * navigationLineSetting
     */
    navigationLineSettings: NavigationLineSettingsModel[];
    /**
     * To configure the tooltip settings of the maps layer.
     */
    tooltipSettings: TooltipSettingsModel;
    /**
     * To configure the selection settings of the maps.
     */
    selectionSettings: SelectionSettingsModel;
    /**
     * To configure the highlight settings of the maps.
     */
    highlightSettings: HighlightSettingsModel;
    /**
     * To configure the legend toggle settings.
     */
    toggleLegendSettings: ToggleLegendSettingsModel;
    /** @private */
    layerData: Object[];
    /**
     * @private
     */
    isBaseLayer: boolean;
    /**
     * @private
     */
    factor: number;
    /**
     * @private
     * Stores the layer bounds
     */
    layerBounds: GeoLocation;
    /**
     * @private
     * Stores the rect bounds
     */
    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);
}
/**
 * Maps area configuration
 */
export  class MapsAreaSettings extends base.ChildProperty<MapsAreaSettings> {
    /**
     * To configure maps area background color
     */
    background: string;
    /**
     * Options for customizing the color and width of maps area.
     */
    border: BorderModel;
}
//node_modules/@syncfusion/ej2-maps/src/maps/model/constants.d.ts
/**
 * Maps constants doc
 */
/**
 * Specifies maps load event name.
 * @private
 */
export  const load: string;
/**
 * Specifies maps loaded event name.
 * @private
 */
export  const loaded: string;
/**
 * Specifies maps click event name.
 * @private
 */
export  const click: string;
/**
 * Specifies maps loaded event name.
 * @private
 */
export  const rightClick: string;
/**
 * Specifies maps double click event name.
 * @private
 */
export  const doubleClick: string;
/**
 * Specifies maps resize event name.
 * @private
 */
export  const resize: string;
/**
 * Specifies the map tooltip render event
 */
export  const tooltipRender: string;
/**
 * Specifies the map shapeSelected event
 */
export  const shapeSelected: string;
/**
 * Specifies the map shapeHighlight event
 */
export  const shapeHighlight: string;
/**
 * Specifies maps mousemove event name.
 * @private
 */
export  const mousemove: string;
/**
 * Specifies maps mouseup event name.
 * @private
 */
export  const mouseup: string;
/**
 * Specifies maps mousedown event name.
 * @private
 */
export  const mousedown: string;
/**
 * Specifies maps layerRendering event name.
 * @private
 */
export  const layerRendering: string;
/**
 * Specifies maps shapeRendering event name.
 * @private
 */
export  const shapeRendering: string;
/**
 * Specifies maps markerRendering event name.
 * @private
 */
export  const markerRendering: string;
/**
 * Specifies maps clusterRendering event name.
 * @private
 */
export  const markerClusterRendering: string;
/**
 * Specifies maps markerClick event name.
 * @private
 */
export  const markerClick: string;
/**
 * Specifies maps clusterClick event name.
 * @private
 */
export  const markerClusterClick: string;
/**
 * Specifies maps markerMouseMove event name.
 * @private
 */
export  const markerMouseMove: string;
/**
 * Specifies maps clusterMouseMove event name.
 * @private
 */
export  const markerClusterMouseMove: string;
/**
 * Specifies maps dataLabelRendering event name.
 * @private
 */
export  const dataLabelRendering: string;
/**
 * Specifies maps bubbleRendering event name.
 * @private
 */
export  const bubbleRendering: string;
/**
 * Specifies maps bubbleClick event name.
 * @private
 */
export  const bubbleClick: string;
/**
 * Specifies maps bubbleMouseMove event name.
 * @private
 */
export  const bubbleMouseMove: string;
/**
 * Specifies maps animationComplete event name.
 * @private
 */
export  const animationComplete: string;
/**
 * Specifies maps legendRendering event name.
 * @private
 */
export  const legendRendering: string;
/**
 * Specifies maps annotationRendering event name.
 * @private
 */
export  const annotationRendering: string;
/**
 * Specifies maps itemSelection event name
 * @private
 */
export  const itemSelection: string;
/**
 * Specifies maps itemHighlight event name
 */
export  const itemHighlight: string;
/**
 * Specifies maps beforePrint event name
 */
export  const beforePrint: string;
/**
 * Specifies the map zoom in event name
 */
export  const zoomIn: string;
/**
 * Specifies the map zoom out event name
 */
export  const zoomOut: string;
/**
 * Specifies the map pan event name
 */
export  const pan: string;
//node_modules/@syncfusion/ej2-maps/src/maps/model/interface.d.ts
/**
 * Maps interfaces doc
 */
/**
 * Specifies Maps Events
 * @private
 */
export interface IMapsEventArgs {
    /** Defines the name of the event */
    name: string;
    /** Defines the event cancel status */
    cancel: boolean;
}
/**
 * specifies Print Events
 */
export interface IPrintEventArgs extends IMapsEventArgs {
    htmlContent: Element;
}
/**
 * Specifies the Loaded Event arguments.
 */
export interface ILoadedEventArgs extends IMapsEventArgs {
    /** Defines the current Maps instance */
    maps?: Maps;
}
/**
 * Specifies the Load Event arguments.
 */
export interface ILoadEventArgs extends IMapsEventArgs {
    /** Defines the current Maps instance */
    maps?: Maps;
}
/**
 * Specifies the data label Event arguments.
 */
export interface IDataLabelArgs extends IMapsEventArgs {
    /** Defines the current Maps instance */
    maps: Maps;
    /**
     * define event
     */
    dataLabel: DataLabelSettingsModel;
}
/**
 * Specifies the Chart Mouse Event arguments.
 */
export interface IMouseEventArgs extends IMapsEventArgs {
    /** Defines current mouse event target id */
    target: string;
    /** Defines current mouse x location */
    x: number;
    /** Defines current mouse y location */
    y: number;
    /** Defines current latitude value of maps location */
    latitude?: number;
    /** Defines current longitude value of maps location */
    longitude?: number;
}
/**
 * Specifies the geo location.
 */
export interface GeoPosition {
    /** Defines current latitude value of maps location */
    latitude?: number;
    /** Defines current longitude value of maps location */
    longitude?: number;
}
/**
 * Maps Resize event arguments.
 */
export interface IResizeEventArgs {
    /** Defines the name of the Event */
    name: string;
    /** Defines the previous size of the maps */
    previousSize: Size;
    /** Defines the current size of the maps */
    currentSize: Size;
    /** Defines the Maps instance */
    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 TooltipRender event arguments for maps.
 */
export interface ITooltipRenderEventArgs extends IMapsEventArgs {
    /** Defines the current TreeMap instance */
    maps?: Maps;
    /**
     * Define the content
     */
    content?: string | HTMLElement;
    /**
     * Define the tooltip options.
     */
    options: Object;
    /**
     * textStyle event argument
     */
    textStyle?: FontModel;
    /**
     * border event argument
     */
    border?: BorderModel;
    /**
     * fill color event argument
     */
    fill?: string;
    /**
     * Define the current tooltip element.
     */
    element: Element;
    /**
     * Define the mouse location.
     */
    eventArgs?: PointerEvent;
}
/**
 * Specifies itemSelection event arguments for maps.
 */
export interface ISelectionEventArgs extends IMapsEventArgs {
    /** Defines the current Map instance */
    maps?: Maps;
    /**
     * fill event argument
     */
    fill?: string;
    /**
     * opacity event argument
     */
    opacity?: number;
    /**
     * border event argument
     */
    border?: BorderModel;
    /**
     * Defines current mouse event target id
     */
    target?: string;
    /**
     * shape data event argument
     */
    shapeData?: object;
    /**
     * data from data source
     */
    data?: object;
}
/**
 * Specifies shapeSelected event arguments for maps.
 */
export interface IShapeSelectedEventArgs extends IMapsEventArgs {
    /** Defines the current Map instance */
    maps?: Maps;
    /**
     * fill event argument
     */
    fill?: string;
    /**
     * opacity event argument
     */
    opacity?: number;
    /**
     * border event argument
     */
    border?: BorderModel;
    /**
     * shapeData for the currently clicked shape
     */
    shapeData?: object;
    /**
     * data source for the currently clicked shape
     */
    data?: object;
    /** Defines current mouse event target id */
    target?: string;
}
/** @private */
export interface ITouches {
    pageX?: number;
    pageY?: number;
    pointerId?: number;
}
/** @private */
export interface IShapes {
    renderOption?: Object;
    functionName?: string;
}
/**
 * Specifies layerRendering event arguments for maps.
 */
export interface ILayerRenderingEventArgs extends IMapsEventArgs {
    /**
     * layer index event argument
     */
    index?: number;
    /**
     * maps instance event argument
     */
    maps?: Maps;
    /**
     * layer options event argument
     */
    layer?: LayerSettingsModel;
}
/**
 * Specifies shapeRendering event arguments for maps.
 */
export interface IShapeRenderingEventArgs extends IMapsEventArgs {
    /**
     * shape index event argument
     */
    index?: number;
    /**
     * maps instance event argument
     */
    maps?: Maps;
    /**
     * current shape settings
     */
    shape?: ShapeSettingsModel;
    /**
     * current shape fill
     */
    fill?: string;
    /**
     * current shape border
     */
    border?: BorderModel;
    /**
     * shape data source event argument
     */
    data?: object;
}
/**
 * Specifies markerRendering event arguments for maps.
 */
export interface IMarkerRenderingEventArgs extends IMapsEventArgs {
    /**
     * maps instance event argument
     */
    maps?: Maps;
    /**
     * marker instance. This is Read Only option.
     */
    marker?: MarkerSettingsModel;
    /**
     * Marker fill.
     */
    fill?: string;
    /**
     * To customize the height of the marker.
     */
    height?: number;
    /**
     * To customize the width of the marker.
     */
    width?: number;
    /**
     * To customize the shape of the marker.
     */
    shape?: MarkerType;
    /**
     * To provide the image url for rendering marker image
     */
    imageUrl?: string;
    /**
     * To customize the template of the marker.
     */
    template?: string;
    /**
     * Configures the marker border
     */
    border?: BorderModel;
    /**
     * marker data event argument
     */
    data?: object;
}
/**
 * Specifies markerClusterRendering event arguments for maps.
 */
export interface IMarkerClusterRenderingEventArgs extends IMapsEventArgs {
    /**
     * maps instance event argument
     */
    maps?: Maps;
    /**
     * marker instance. This is Read Only option.
     */
    cluster?: MarkerClusterSettingsModel;
    /**
     * Marker fill.
     */
    fill?: string;
    /**
     * To customize the height of the marker.
     */
    height?: number;
    /**
     * To customize the width of the marker.
     */
    width?: number;
    /**
     * To customize the shape of the marker.
     */
    shape?: MarkerType;
    /**
     * To provide the image url for rendering marker image
     */
    imageUrl?: string;
    /**
     * Configures the marker border
     */
    border?: BorderModel;
    /**
     * marker data event argument
     */
    data?: object;
}
/**
 * Specifies markerClick event arguments for maps.
 */
export interface IMarkerClickEventArgs extends IMouseEventArgs {
    /**
     * maps instance event argument
     */
    maps?: Maps;
    /**
     * marker instance event argument
     */
    marker?: MarkerSettingsModel;
    /**
     * defines the currently clicked marker data
     */
    data?: object;
}
/**
 * Specifies markerMove event arguments for maps.
 */
export interface IMarkerMoveEventArgs extends IMouseEventArgs {
    /**
     * maps instance event argument
     */
    maps?: Maps;
    /**
     * marker data event argument. This is Read Only option.
     */
    data?: object;
}
/**
 * Specifies clusterClick event arguments for maps.
 */
export interface IMarkerClusterClickEventArgs extends IMouseEventArgs {
    /**
     * defines the currently clicked marker data
     */
    data?: object;
    /**
     * maps instance event argument
     */
    maps?: Maps;
}
/**
 * Specifies markerClusterMove event arguments for maps.
 */
export interface IMarkerClusterMoveEventArgs extends IMouseEventArgs {
    /**
     * maps instance event argument
     */
    maps?: Maps;
    /**
     * marker data event argument. This is Read Only option.
     */
    data?: object;
}
/**
 * Specifies labelRendering event arguments for maps.
 */
export interface ILabelRenderingEventArgs extends IMapsEventArgs {
    /**
     * maps instance event argument
     */
    maps?: Maps;
    /**
     * data label text event argument
     */
    text?: string;
    /**
     * Configures the label border
     */
    border?: BorderModel;
    /**
     * configure the fill
     */
    fill?: string;
    /**
     * To customize the data label template.
     */
    template?: string;
    /**
     * label instance event argument
     */
    datalabel?: DataLabelSettingsModel;
}
/**
 * Specifies bubbleRendering event arguments for maps.
 */
export interface IBubbleRenderingEventArgs extends IMapsEventArgs {
    /**
     * maps instance event argument
     */
    maps?: Maps;
    /**
     * bubble fill event argument
     */
    fill?: string;
    /**
     * bubble border event argument
     */
    border?: BorderModel;
    /**
     * current bubble center x
     */
    cx?: number;
    /**
     * current bubble center y
     */
    cy?: number;
    /**
     * current bubble radius
     */
    radius?: number;
    /**
     * current bubble data
     */
    data?: object;
}
/**
 * Specifies bubbleClick event arguments for maps.
 */
export interface IBubbleClickEventArgs extends IMouseEventArgs {
    /**
     * maps instance event argument
     */
    maps?: Maps;
    /**
     * bubble current data event argument
     */
    data?: object;
}
/**
 * Specifies bubbleMove event arguments for maps.
 */
export interface IBubbleMoveEventArgs extends IMouseEventArgs {
    /**
     * maps instance event argument
     */
    maps?: Maps;
    /**
     * bubble current data event argument
     */
    data?: object;
}
/**
 * Specifies animationComplete event arguments for maps.
 */
export interface IAnimationCompleteEventArgs extends IMapsEventArgs {
    /**
     * maps instance event argument
     */
    maps?: Maps;
    /**
     * animation element type event argument
     */
    element: string;
}
/**
 * Specifies legendRendering event arguments for maps.
 */
export interface ILegendRenderingEventArgs extends IMapsEventArgs {
    /**
     * maps instance event argument
     */
    maps?: Maps;
    /**
     * Specifies the legend shape color
     */
    fill?: string;
    /**
     * Options for customizing the color and width of the shape border.
     */
    shapeBorder?: BorderModel;
    /**
     * Customize the legend shape of the maps.
     */
    shape?: LegendShape;
}
/**
 * Specifies annotationRendering event arguments for maps.
 */
export interface IAnnotationRenderingEventArgs extends IMapsEventArgs {
    /**
     * maps instance event argument
     */
    maps?: Maps;
    /**
     * Specifies the annotation content
     */
    content?: string;
    /**
     * Specifies the annotation instance
     */
    annotation?: Annotation;
}
/**
 * Specifies pan event arguments for maps.
 */
export interface IMapPanEventArgs extends IMapsEventArgs {
    /**
     * maps instance event argument.
     */
    maps?: Maps;
    /**
     * tile translate point.
     */
    tileTranslatePoint?: Object;
    /**
     * Geometry translate point.
     */
    translatePoint?: Object;
    /**
     * Tile zoom level.
     */
    tileZoomLevel?: number;
    /**
     * geometry layer scale.
     */
    scale?: number;
}
/**
 * Specifies zoom event arguments for maps.
 */
export interface IMapZoomEventArgs extends IMapsEventArgs {
    /**
     * maps instance event argument.
     */
    maps?: Maps;
    /**
     * Type of zoom interaction
     */
    type: string;
    /**
     * tile translate point.
     */
    tileTranslatePoint?: Object;
    /**
     * Geometry translate point.
     */
    translatePoint?: Object;
    /**
     * Tile zoom level.
     */
    tileZoomLevel?: Object;
    /**
     * geometry layer scale.
     */
    scale?: Object;
}
/** @private */
/**
 * Specifies the Theme style for maps.
 */
export interface IThemeStyle {
    backgroundColor: string;
    areaBackgroundColor: string;
    titleFontColor: string;
    subTitleFontColor: string;
    legendTitleFontColor: string;
    legendTextColor: string;
    dataLabelFontColor: string;
    tooltipFontColor: string;
    tooltipFillColor: string;
    zoomFillColor: string;
    fontFamily?: string;
    titleFontSize?: string;
    tooltipFillOpacity?: number;
    tooltipTextOpacity?: number;
    legendFontSize?: string;
    labelFontFamily?: string;
}
//node_modules/@syncfusion/ej2-maps/src/maps/model/theme.d.ts
/**
 * Maps Themes doc
 */
/**
 * Specifies Maps Themes
 */
export  namespace Theme {
    /** @private */
    let mapsTitleFont: IFontMapping;
    /** @private */
    let mapsSubTitleFont: IFontMapping;
    /** @private */
    let tooltipLabelFont: IFontMapping;
    /** @private */
    let legendTitleFont: IFontMapping;
    /** @private */
    let legendLabelFont: IFontMapping;
    /** @private */
    let dataLabelFont: IFontMapping;
}
export  namespace FabricTheme {
    /** @private */
    let mapsTitleFont: IFontMapping;
    /** @private */
    let mapsSubTitleFont: IFontMapping;
    /** @private */
    let tooltipLabelFont: IFontMapping;
    /** @private */
    let legendTitleFont: IFontMapping;
    /** @private */
    let legendLabelFont: IFontMapping;
    /** @private */
    let dataLabelFont: IFontMapping;
}
export  namespace BootstrapTheme {
    /** @private */
    let mapsTitleFont: IFontMapping;
    /** @private */
    let mapsSubTitleFont: IFontMapping;
    /** @private */
    let tooltipLabelFont: IFontMapping;
    /** @private */
    let legendTitleFont: IFontMapping;
    /** @private */
    let legendLabelFont: IFontMapping;
    /** @private */
    let dataLabelFont: IFontMapping;
}
/**
 * Internal use of Method to getting colors based on themes.
 * @private
 * @param theme
 */
export  function getShapeColor(theme: MapsTheme): string[];
/**
 * HighContrast Theme configuration
 */
export  namespace HighContrastTheme {
    /** @private */
    let mapsTitleFont: IFontMapping;
    /** @private */
    let mapsSubTitleFont: IFontMapping;
    /** @private */
    let tooltipLabelFont: IFontMapping;
    /** @private */
    let legendTitleFont: IFontMapping;
    /** @private */
    let legendLabelFont: IFontMapping;
    /** @private */
    let dataLabelFont: IFontMapping;
}
/**
 * Dark Theme configuration
 */
export  namespace DarkTheme {
    /** @private */
    let mapsTitleFont: IFontMapping;
    /** @private */
    let mapsSubTitleFont: IFontMapping;
    /** @private */
    let tooltipLabelFont: IFontMapping;
    /** @private */
    let legendTitleFont: IFontMapping;
    /** @private */
    let legendLabelFont: IFontMapping;
}
export  function getThemeStyle(theme: MapsTheme): IThemeStyle;
//node_modules/@syncfusion/ej2-maps/src/maps/user-interaction/annotation.d.ts
/**
 * Represent the annotation rendering 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.
     * @return {void}
     * @private
     */
    destroy(map: Maps): void;
}
//node_modules/@syncfusion/ej2-maps/src/maps/user-interaction/highlight.d.ts
/**
 * Highlight module class
 */
export  class Highlight {
    private maps;
    private highlightSettings;
    constructor(maps: Maps);
    /**
     * To bind events for highlight module
     */
    private addEventListener;
    /**
     * To unbind events for highlight module
     */
    private removeEventListener;
    /**
     * Public method for highlight module
     */
    addHighlight(layerIndex: number, name: string, enable: boolean): void;
    private mouseMove;
    private mapHighlight;
    private highlightMap;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the highlight.
     * @return {void}
     * @private
     */
    destroy(maps: Maps): void;
}
//node_modules/@syncfusion/ej2-maps/src/maps/user-interaction/selection.d.ts
/**
 * Selection module class
 */
export  class Selection {
    private maps;
    private selectionsettings;
    private selectionType;
    constructor(maps: Maps);
    /**
     * For binding events to selection module
     */
    private addEventListener;
    /**
     * For removing events from selection modue
     */
    private removeEventListener;
    private mouseClick;
    /**
     * Public method for selection
     */
    addSelection(layerIndex: number, name: string, enable: boolean): void;
    /**
     * Method for selection
     */
    private selectMap;
    /**
     * Remove legend selection
     */
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the selection.
     * @return {void}
     * @private
     */
    destroy(maps: Maps): void;
}
//node_modules/@syncfusion/ej2-maps/src/maps/user-interaction/tooltip.d.ts
/**
 * Map Tooltip
 */
export  class MapsTooltip {
    private maps;
    private tooltipSettings;
    private svgTooltip;
    private isTouch;
    private tooltipId;
    private currentTime;
    private clearTimeout;
    constructor(maps: Maps);
    renderTooltip(e: PointerEvent): void;
    /**
     * To get content for the current toolitp
     */
    private setTooltipContent;
    private formatValue;
    private formatter;
    mouseUpHandler(e: PointerEvent): void;
    removeTooltip(): void;
    /**
     * To bind events for tooltip module
     */
    addEventListener(): void;
    removeEventListener(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the tooltip.
     * @return {void}
     * @private
     */
    destroy(maps: Maps): 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 groupElements;
    private currentToolbarEle;
    zoomingRect: Rect;
    selectionColor: string;
    private fillColor;
    private zoomInElements;
    private zoomOutElements;
    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;
    private pinchRect;
    mouseDownPoints: Point;
    mouseMovePoints: Point;
    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 shapeZoomLocation;
    private zoomshapewidth;
    private index;
    intersect: object[];
    private templateCount;
    private distanceX;
    private distanceY;
    /** @private */
    layerCollectionEle: Element;
    constructor(maps: Maps);
    /**
     * To perform zooming for maps
     * @param position
     * @param newZoomFactor
     * @param type
     */
    performZooming(position: Point, newZoomFactor: number, type: string): void;
    private triggerZoomEvent;
    private getTileTranslatePosition;
    performRectZooming(): void;
    private setInteraction;
    private updateInteraction;
    performPinchZooming(e: PointerEvent | TouchEvent): void;
    drawZoomRectangle(): void;
    /**
     * To animate the zooming process
     */
    private animateTransform;
    applyTransform(animate?: boolean): void;
    private markerTranslates;
    /**
     * To translate the layer template elements
     * @private
     */
    processTemplate(x: number, y: number, scale: number, maps: Maps): void;
    private dataLabelTranslate;
    private markerTranslate;
    panning(direction: PanDirection, xDifference: number, yDifference: number): void;
    private toAlignSublayer;
    toolBarZooming(zoomFactor: number, type: string): void;
    createZoomingToolbars(): void;
    performToolBarAction(e: PointerEvent): void;
    /**
     *
     * @private
     */
    performZoomingByToolBar(type: string): void;
    private panningStyle;
    private applySelection;
    showTooltip(e: PointerEvent): void;
    removeTooltip(): void;
    alignToolBar(): void;
    /**
     * To bind events.
     * @return {void}
     * @private
     */
    wireEvents(element: Element, process: Function): 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 e
     */
    click(e: PointerEvent): void;
    getMousePosition(pageX: number, pageY: number): Point;
    addEventListener(): void;
    removeEventListener(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the zoom.
     * @return {void}
     * @private
     */
    destroy(maps: Maps): void;
}
//node_modules/@syncfusion/ej2-maps/src/maps/utils/enum.d.ts
/**
 * Maps enum doc
 */
/**
 * 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';
/**
 * Defines Theme of the maps. They are
 * * Material - Render a maps with Material theme.
 * * Fabric - Render a maps with Fabric theme
 * * Bootstrap - Render a maps with Bootstrap theme
 * * Dark - Render a maps with Dark theme
 */
export  type MapsTheme = 
/**  Render a maps with Material theme. */
'Material' | 
/**  Render a maps with Fabric theme. */
'Fabric' | 
/**  Render a maps with Highcontrast Light theme. */
'HighContrastLight' | 
/**  Render a maps with Bootstrap theme. */
'Bootstrap' | 
/**  Render a maps with Material Dark theme. */
'MaterialDark' | 
/**  Render a maps with Fabric Dark theme. */
'FabricDark' | 
/**  Render a maps with Highcontrast Dark theme. */
'HighContrast' | 
/**  Render a maps with Bootstrap Dark theme. */
'BootstrapDark' | 
/** Render a maps with Bootstrap4 theme. */
'Bootstrap4';
/**
 * Defines the position of the legend. They are
 * * top - Displays the legend on the top of maps.
 * * left - Displays the legend on the left of maps.
 * * bottom - Displays the legend on the bottom of maps.
 * * right - Displays the legend on the right of maps.
 * * float - Displays the legend  based on given x and y value.
 */
export  type LegendPosition = 
/** Places the legend on the top of maps. */
'Top' | 
/** Places the legend on the left of maps. */
'Left' | 
/** Places the legend on the bottom of maps. */
'Bottom' | 
/** Places the legend on the right of maps. */
'Right' | 
/** Places the legend based on given x and y. */
'Float';
/**
 * Defines the Legend types. They are
 * * Layers - Legend applicable to Layers.
 * * Bubbles - Legend applicable to Bubbles.
 * * Markers - Legend applicable to Markers.
 */
export  type LegendType = 
/** Legend applicable to Layers */
'Layers' | 
/** Legend applicable to Bubbles. */
'Bubbles' | 
/** Legend applicable to Markers */
'Markers';
/**
 * Defines the smart label mode. They are
 * * Trim - Trims the datalabel which exceed the region
 * * None - Smart label mode is not applied
 * * hide - Hide the datalabel which exceeds the region
 */
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. They are
 * * Start - Arrow is positioned at the starting position of navigation line
 * * End - Arrow is positioned at the ending position of navigation line
 */
export  type ArrowPosition = 
/** Arrow positioned at the start */
'Start' | 
/** Arrow positioned at the end */
'End';
/**
 * Defines the label intersect action. They are
 * * Trim - Trims the intersected datalabel
 * * None - Intersection action is not applied
 * * Hide - Hides the intersected datalabel
 */
export  type IntersectAction = 
/** Trims the intersected datalabel */
'Trim' | 
/** Intersection action is not applied */
'None' | 
/** Hide the intersected datalabel */
'Hide';
/**
 * Defines the Legend modes. They are
 * * Default - Specifies the Default mode.
 * * interactive - specifies the Interactive mode.
 */
export  type LegendMode = 
/** Legend remains static */
'Default' | 
/** Legend remains interactively */
'Interactive';
/**
 * Defines the Layer types.
 * * Geometry - Specifies the geometry type.
 * * Bing - Specifies the Bing type.
 */
export  type ShapeLayerType = 
/**
 * Draw the geometry shape
 */
'Geometry' | 
/**
 * Draw the open street map
 */
'OSM' | 
/**
 * Draw the bing map
 */
'Bing';
/**
 * Defines the map layer types.
 * * Layer - Specifies the layer type.
 * * SubLayer - Specifies the sublayer type.
 */
export  type Type = 
/** Layer - Used to render layer on maps */
'Layer' | 
/** SubLayer - Used to render sublayer on maps */
'SubLayer';
/**
 * Defines the marker types.
 * * Circle - Specifies the Circle type.
 * * Rectangle - Specifies the Rectangle type.
 * * Cross - Specifies the Cross type.
 * * Diamond - Specifies the Diamond type.
 * * Star - Specifies the Star type.
 * * Balloon - Specifies the Balloon type.
 * * Triangle - Specifies the Triangle type.
 * * HorizontalLine - Specifies the HorizontalLine type.
 * * VerticalLine - Specifies the VerticalLine type.
 */
export  type MarkerType = 
/** Circle - Used to render marker shape as Circle on maps */
'Circle' | 
/** Rectangle - Used to render marker shape as Rectangle on maps */
'Rectangle' | 
/** Cross - Used to render marker shape as Cross on maps */
'Cross' | 
/** Diamond - Used to render marker shape as Diamond on maps */
'Diamond' | 
/** Star - Used to render marker shape as Star on maps */
'Star' | 
/** Balloon - Used to render marker shape as Balloon on maps */
'Balloon' | 
/** Triangle - Used to render marker shape as Triangle on maps */
'Triangle' | 
/** HorizontalLine - Used to render marker shape as HorizontalLine on maps */
'HorizontalLine' | 
/** VerticalLine - Used to render marker shape as VerticalLine on maps */
'VerticalLine' | 
/** Image - Used to render marker shape as Image on maps  */
'Image';
/**
 * Defines the projection type of the maps.
 * * Mercator -Specifies the Mercator projection type.
 */
export  type ProjectionType = 
/** Mercator - Used to render maps based on the Mercator type */
'Mercator' | 
/** Winkel 3 is one of the projection for map rendering */
'Winkel3' | 
/** Miller is one of the projection for map rendering */
'Miller' | 
/** Eckert3 is one of the projection for map rendering */
'Eckert3' | 
/** Eckert5 is one of the projection for map rendering */
'Eckert5' | 
/** Eckert6 is one of the projection for map rendering */
'Eckert6' | 
/** Aitoff is one of the projection for map rendering */
'AitOff' | 
/** Equirectangular is one of the projection for map rendering */
'Equirectangular';
/**
 * Defines bing map types
 * * Aerial - specifies the Aerial type
 * * AerialWithLabel - specifies the AerialWithLabel type
 * * Road - specifies the Road type
 */
export  type BingMapType = 
/** Aerial - Used to draw bing map layer with Aerial type */
'Aerial' | 
/** AerialWithLabel - Used to draw bing map layer with AerialWithLabel type */
'AerialWithLabel' | 
/** Road - Used to draw bing map layer with Road type */
'Road' | 
/** CanvasDark - A dark version of the road maps */
'CanvasDark' | 
/** CanvasLight - A lighter version of the road maps */
'CanvasLight' | 
/** CanvasGray - A grayscale version of the road maps */
'CanvasGray';
/**
 * Defines the tool bar orientation
 */
export  type Orientation = 
/** Horizontal - Toolbar drawing horizontal orientation */
'Horizontal' | 
/** Vertical - Toolbar drawing vertical orientation */
'Vertical';
/**
 * 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.
 * * Star - Renders a star.
 * * horizontalLine - Renders a horizontalLine.
 * * verticalLine - Renders a verticalLine.
 * * pentagon - Renders a pentagon.
 * * invertedTriangle - Renders a invertedTriangle.
 */
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 Star. */
'Star' | 
/** Render a HorizontalLine. */
'HorizontalLine' | 
/** Render a VerticalLine. */
'VerticalLine' | 
/** Render a Pentagon. */
'Pentagon' | 
/** Render a InvertedTriangle. */
'InvertedTriangle';
/**
 * Defines the legend arrangement
 */
export  type LegendArrangement = 
/** Legend item placed default based on legend orientation */
'None' | 
/** Legend items placed in row wise */
'Horizontal' | 
/** Legend items place in column wise */
'Vertical';
/**
 * Defines the Alignment. They are
 * * none - Default alignment as none
 * * near - Align the element to the left.
 * * center - Align the element to the center.
 * * far - Align the element to the right.
 * *
 */
export  type AnnotationAlignment = 
/** Default alignement as none */
'None' | 
/** Define the left alignment. */
'Near' | 
/** Define the center alignment. */
'Center' | 
/** Define the right alignment. */
'Far';
/**
 * Defines the geometry type. They are
 * * Geographic - Default value of geometry layer.
 * * Normal - Normal rendering of geometry layer.
 * *
 */
export  type GeometryType = 
/** Default value of geometry layer. */
'Geographic' | 
/** Define the normal rendering . */
'Normal';
/**
 * Defines the bubble type
 */
export  type BubbleType = 
/** Specifies the bubble circle type */
'Circle' | 
/** Specifies the bubble Square type */
'Square';
/**
 * Defines the label placement type
 */
export  type LabelPosition = 
/** Specifies the label placement as Before */
'Before' | 
/** Specifies the label plcement as After */
'After';
/**
 * Defines the label intersect action types
 */
export  type LabelIntersectAction = 
/** Specifies the intersect action as None */
'None' | 
/** Specifies the intersect action as Trim  */
'Trim' | 
/**  Specifies the intersect action as Hide */
'Hide';
/**
 * 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';
/**
 * Pan Direction
 */
export  type PanDirection = 
/** Used to pan the left direction */
'Left' | 
/** Used to pan the right direction */
'Right' | 
/** Used to pan the top direction */
'Top' | 
/** Used to pan the bottom direction */
'Bottom' | 
/** Used to pan the map by mouse move */
'None';
//node_modules/@syncfusion/ej2-maps/src/maps/utils/export.d.ts
/**
 * Annotation Module handles the Annotation for Maps
 */
export  class ExportUtils {
    private control;
    private printWindow;
    /**
     * Constructor for Maps
     * @param control
     */
    constructor(control: Maps);
    /**
     * To print the Maps
     * @param elements
     */
    print(elements?: string[] | string | Element): void;
    /**
     * To get the html string of the Maps
     * @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): void;
    /**
     * To trigger the download element
     * @param fileName
     * @param type
     * @param url
     */
    triggerDownload(fileName: string, type: ExportType, url: string, isDownload: boolean): void;
}
//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
 * @private
 */
export  function stringToNumber(value: string, containerSize: number): number;
/**
 * Method to calculate the width and height of the maps
 */
export  function calculateSize(maps: Maps): void;
/**
 * Method to create svg for maps.
 */
export  function createSvg(maps: Maps): void;
export  function getMousePosition(pageX: number, pageY: number, element: Element): MapLocation;
/**
 * Method to convert degrees to radians
 */
export  function degreesToRadians(deg: number): number;
/**
 * Convert radians to degrees method
 */
export  function radiansToDegrees(radian: number): number;
/**
 * Method for converting from latitude and longitude values to points
 */
export  function convertGeoToPoint(latitude: number, longitude: number, factor: number, layer: LayerSettings, mapModel: Maps): Point;
/**
 * Converting tile latitude and longitude to point
 */
export  function convertTileLatLongToPoint(center: MapLocation, zoomLevel: number, tileTranslatePoint: MapLocation, isMapCoordinates: boolean): MapLocation;
/**
 * Method for calculate x point
 */
export  function xToCoordinate(mapObject: Maps, val: number): number;
/**
 * Method for calculate y point
 */
export  function yToCoordinate(mapObject: Maps, val: number): number;
/**
 * Method for calculate aitoff projection
 */
export  function aitoff(x: number, y: number): Point;
/**
 * Method to round the number
 */
export  function roundTo(a: number, b: number): number;
export  function sinci(x: number): number;
export  function acos(a: number): number;
/**
 * Method to calculate bound
 */
export  function calculateBound(value: number, min: number, max: number): number;
/**
 * 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
 * @param  {FontModel} font
 * @param  {string} id
 * @returns no
 * @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;
    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  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, opacity: 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, opacity: 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, opacity?: 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, opacity?: 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, opacity?: number, dashArray?: string);
}
/**
 * Internal use of line
 * @property
 */
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);
}
/**
 * Internal use of pattern unit types enum.
 * @private
 */
export  type patternUnits = 'userSpaceOnUse' | 'objectBoundingBox';
/**
 * Internal use for pattern creation.
 * @property
 */
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
 * @private
 */
export  function renderTextElement(option: TextOption, style: FontModel, color: string, parent: HTMLElement | Element, isMinus?: boolean): Element;
/**
 * @private
 */
export  function convertElement(element: HTMLCollection, markerId: string, data: Object, index: number, mapObj: Maps): HTMLElement;
export  function convertElementFromLabel(element: Element, labelId: string, data: object, index: number, mapObj: Maps): HTMLElement;
export  function drawSymbols(shape: MarkerType, imageUrl: string, location: Point, markerID: string, shapeCustom: Object, markerCollection: Element, maps: Maps): Element;
export  function clusterTemplate(currentLayer: LayerSettings, markerTemplate: HTMLElement | Element, maps: Maps, layerIndex: number, markerCollection: Element): HTMLElement | Element;
export  function marker(eventArgs: IMarkerRenderingEventArgs, markerSettings: MarkerSettings, markerData: object[], dataIndex: number, location: Point, transPoint: Point, markerID: string, offset: Point, scale: number, maps: Maps, markerCollection: Element): Element;
export  function markerTemplate(eventArgs: IMarkerRenderingEventArgs, templateFn: Function, markerID: string, data: object, markerIndex: number, markerTemplate: HTMLElement, location: Point, scale: number, offset: Point, maps: Maps): HTMLElement;
/**
 * Internal use of append shape element
 * @private
 */
export  function appendShape(shape: Element, element: Element): Element;
/**
 * Internal rendering of Circle
 * @private
 */
export  function drawCircle(maps: Maps, options: CircleOption, element?: Element): Element;
/**
 * Internal rendering of Rectangle
 * @private
 */
export  function drawRectangle(maps: Maps, options: RectOption, element?: Element): Element;
/**
 * Internal rendering of Path
 * @private
 */
export  function drawPath(maps: Maps, options: PathOption, element?: Element): Element;
/**
 * Internal rendering of Polygon
 * @private
 */
export  function drawPolygon(maps: Maps, options: PolygonOption, element?: Element): Element;
/**
 * Internal rendering of Polyline
 * @private
 */
export  function drawPolyline(maps: Maps, options: PolylineOption, element?: Element): Element;
/**
 * Internal rendering of Line
 * @private
 */
export  function drawLine(maps: Maps, options: LineOption, element?: Element): Element;
/**
 * @private
 * Calculate marker shapes
 */
export  function calculateShapes(maps: Maps, shape: MarkerType, options: PathOption, size: Size, location: MapLocation, markerEle: Element): Element;
/**
 * Internal rendering of Diamond
 * @private
 */
export  function drawDiamond(maps: Maps, options: PathOption, size: Size, location: MapLocation, element?: Element): Element;
/**
 * Internal rendering of Triangle
 * @private
 */
export  function drawTriangle(maps: Maps, options: PathOption, size: Size, location: MapLocation, element?: Element): Element;
/**
 * Internal rendering of Cross
 * @private
 */
export  function drawCross(maps: Maps, options: PathOption, size: Size, location: MapLocation, element?: Element): Element;
/**
 * Internal rendering of HorizontalLine
 * @private
 */
export  function drawHorizontalLine(maps: Maps, options: PathOption, size: Size, location: MapLocation, element?: Element): Element;
/**
 * Internal rendering of VerticalLine
 * @private
 */
export  function drawVerticalLine(maps: Maps, options: PathOption, size: Size, location: MapLocation, element?: Element): Element;
/**
 * Internal rendering of Star
 * @private
 */
export  function drawStar(maps: Maps, options: PathOption, size: Size, location: MapLocation, element?: Element): Element;
/**
 * Internal rendering of Balloon
 * @private
 */
export  function drawBalloon(maps: Maps, options: PathOption, size: Size, location: MapLocation, element?: Element): Element;
/**
 * Internal rendering of Pattern
 * @private
 */
export  function drawPattern(maps: Maps, options: PatternOptions, elements: Element[], element?: Element): Element;
/**
 * Method to get specific field and vaues from data.
 * @private
 */
export  function getFieldData(dataSource: object[], fields: string[]): object[];
/**
 * To find the index of dataSource from shape properties
 */
export  function checkShapeDataFields(dataSource: object[], properties: object, dataPath: string, propertyPath: string | string[]): number;
export  function checkPropertyPath(shapeData: string, shapePropertyPath: string | string[], shape: object): string;
export  function filter(points: MapLocation[], start: number, end: number): MapLocation[];
export  function getRatioOfBubble(min: number, max: number, value: number, minValue: number, maxValue: number): number;
/**
 * To find the midpoint of the polygon from points
 */
export  function findMidPointOfPolygon(points: MapLocation[], type: string): object;
/**
 * @private
 * Check custom path
 */
export  function isCustomPath(layerData: Object[]): boolean;
/**
 * @private
 * Trim the title text
 */
export  function textTrim(maxWidth: number, text: string, font: FontModel): string;
/**
 * Method to calculate x position of title
 */
export  function findPosition(location: Rect, alignment: Alignment, textSize: Size, type: string): Point;
/**
 * To remove element by id
 */
export  function removeElement(id: string): void;
/**
 * @private
 */
export  function getTranslate(mapObject: Maps, layer: LayerSettings, animate?: boolean): Object;
/**
 * @private
 */
export  function getZoomTranslate(mapObject: Maps, layer: LayerSettings, animate?: boolean): Object;
/**
 * To get the html element by specified id
 */
export  function getElementByID(id: string): Element;
/**
 * To apply internalization
 */
export  function Internalize(maps: Maps, value: number): string;
/**
 * Function     to compile the template function for maps.
 * @returns Function
 * @private
 */
export  function getTemplateFunction(template: string): Function;
/**
 * Function to get element from id.
 * @returns Element
 * @private
 */
export  function getElement(id: string): Element;
/**
 * Function to get shape data using target id
 */
export  function getShapeData(targetId: string, map: Maps): {
    shapeData: object;
    data: object;
};
/**
 * Function to trigger shapeSelected event
 * @private
 */
export  function triggerShapeEvent(targetId: string, selection: SelectionSettingsModel | HighlightSettingsModel, maps: Maps, eventName: string): IShapeSelectedEventArgs;
/**
 * Function to get elements using class name
 */
export  function getElementsByClassName(className: string): HTMLCollectionOf<Element>;
/**
 * Function to get elements using querySelectorAll
 */
/**
 * Function to get elements using querySelector
 */
export  function querySelector(args: string, elementSelector: string): Element;
/**
 * Function to get the element for selection and highlight using public method
 */
export  function getTargetElement(layerIndex: number, name: string, enable: boolean, map: Maps): Element;
/**
 * Function to create style element for highlight and selection
 */
export  function createStyle(id: string, className: string, eventArgs: IShapeSelectedEventArgs): Element;
/**
 * Function to customize the style for highlight and selection
 */
export  function customizeStyle(id: string, className: string, eventArgs: IShapeSelectedEventArgs): void;
/**
 * Function to remove class from element
 */
export  function removeClass(element: Element): void;
/**
 * Animation Effect Calculation End
 * @private
 */
export  function elementAnimate(element: Element, delay: number, duration: number, point: MapLocation, maps: Maps, ele?: string, radius?: number): void;
export  function timeout(id: string): void;
export  function showTooltip(text: string, size: string, x: number, y: number, areaWidth: number, areaHeight: number, id: string, element: Element, isTouch?: boolean): void;
export  function wordWrap(tooltip: HTMLElement, text: string, x: number, y: number, size1: string[], width: number, areaWidth: number, element: Element): void;
/** @private */
export  function createTooltip(id: string, text: string, top: number, left: number, fontSize: string): void;
/** @private */
export  function drawSymbol(location: Point, shape: string, size: Size, url: string, options: PathOption): Element;
/** @private */
export  function renderLegendShape(location: MapLocation, size: Size, shape: string, options: PathOption, url: string): IShapes;
/**
 * Animation Effect Calculation End
 * @private
 */
/** @private */
export  function getElementOffset(childElement: HTMLElement, parentElement: HTMLElement): Size;
/** @private */
export  function changeBorderWidth(element: Element, index: number, scale: number, maps: Maps): void;
/** @private */
export  function changeNavaigationLineWidth(element: Element, index: number, scale: number, maps: Maps): void;
/** @private */
export  function targetTouches(event: PointerEvent | TouchEvent): ITouches[];
/** @private */
export  function calculateScale(startTouches: ITouches[], endTouches: ITouches[]): number;
/** @private */
export  function getDistance(a: ITouches, b: ITouches): number;
/** @private */
export  function getTouches(touches: ITouches[], maps: Maps): Object[];
/** @private */
export  function getTouchCenter(touches: Object[]): Point;
/** @private */
export  function sum(a: number, b: number): number;
/**
 * Animation Effect Calculation End
 * @private
 */
export  function zoomAnimate(element: Element, delay: number, duration: number, point: MapLocation, scale: number, size: Size, maps: Maps): void;
/**
 * To process custom animation
 */
export  function animate(element: Element, delay: number, duration: number, process: Function, end: Function): void;
/**
 * To get shape data file using Ajax.
 */
export  class MapAjax {
    /**
     * MapAjax data options
     */
    dataOptions: string | Object;
    /**
     * MapAjax type value
     */
    type: string;
    /**
     * MapAjax async value
     */
    async: boolean;
    /**
     * MapAjax contentType value
     */
    contentType: string;
    /**
     * MapAjax sendData value
     */
    sendData: string | Object;
    constructor(options: string | Object, type?: string, async?: boolean, contentType?: string, sendData?: string | Object);
}
/**
 * Animation Translate
 * @private
 */
export  function smoothTranslate(element: Element, delay: number, duration: number, point: MapLocation): void;
 }
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
   * @blazorType 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;
}
/**
 * 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 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;
    /**
     * 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
     * @blazorProperty 'Clicked'
     */
    clicked?: base.EmitType<AccordionClickArgs>;
    /**
     * The event will be fired before the item gets collapsed/expanded.
     * @event
     * @blazorProperty 'Expanding'
     */
    expanding?: base.EmitType<ExpandEventArgs>;
    /**
     * The event will be fired after the item gets collapsed/expanded.
     * @event
     * @blazorProperty 'Expanded'
     */
    expanded?: base.EmitType<ExpandedEventArgs>;
    /**
     * The event will be fired once the control rendering is completed.
     * @event
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Event>;
    /**
     * The event will be fired when the control gets destroyed.
     * @event
     * @blazorProperty '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';
export interface AccordionClickArgs extends base.BaseEventArgs {
    /** Defines the current Accordion Item Object. */
    item?: AccordionItemModel;
    /**
     * Defines the current Event arguments.
     * @blazorType MouseEventArgs
     */
    originalEvent?: Event;
}
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;
}
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;
}
export  class AccordionActionSettings extends base.ChildProperty<AccordionActionSettings> {
    /**
     * Specifies the type of animation.
     * @default 'SlideDown'
     * @aspType string
     * @blazorType string
     */
    effect: 'None' | base.Effect;
    /**
     * Specifies the duration to animate.
     * @default 400
     */
    duration: number;
    /**
     * Specifies the animation timing function.
     * @default 'linear'
     */
    easing: string;
}
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;
}
/**
 * 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 expandedItems;
    private initExpand;
    private isNested;
    private isDestroy;
    private templateEle;
    private isAngular;
    private headerTemplateFn;
    private itemTemplateFn;
    /**
     * 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 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;
    /**
     * 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
     * @blazorProperty 'Clicked'
     */
    clicked: base.EmitType<AccordionClickArgs>;
    /**
     * The event will be fired before the item gets collapsed/expanded.
     * @event
     * @blazorProperty 'Expanding'
     */
    expanding: base.EmitType<ExpandEventArgs>;
    /**
     * The event will be fired after the item gets collapsed/expanded.
     * @event
     * @blazorProperty 'Expanded'
     */
    expanded: base.EmitType<ExpandedEventArgs>;
    /**
     * The event will be fired once the control rendering is completed.
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Event>;
    /**
     * The event will be fired when the control gets destroyed.
     * @event
     * @blazorProperty 'Destroyed'
     */
    destroyed: base.EmitType<Event>;
    /**
     * Initializes a new instance of the Accordion class.
     * @param options  - Specifies Accordion model properties as options.
     * @param 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
     */
    protected render(): void;
    private initialize;
    private renderControl;
    private unwireEvents;
    private wireEvents;
    private templateParser;
    private initializeheaderTemplate;
    private initializeItemTemplate;
    private getheaderTemplate;
    private getItemTemplate;
    private updateContentBlazorTemplate;
    private focusIn;
    private focusOut;
    private ctrlTemplate;
    private toggleIconGenerate;
    private initItemExpand;
    private renderItems;
    private clickHandler;
    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
     * @private
     */
    protected getModuleName(): string;
    private itemAttribUpdate;
    private getItems;
    /**
     * Adds new item to the Accordion with the specified index of the Accordion.
     * @param  {AccordionItemModel | 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 | 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;
    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
     * @param  {AccordionModel} oldProp
     * @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/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 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 left or right scrolling distance of the horizontal scrollbar moving.
     * @default null
     */
    scrollStep: number;
    /**
     * Initialize the event handler
     * @private
     */
    protected preRender(): void;
    /**
     * To Initialize the horizontal scroll  rendering
     * @private
     */
    protected render(): void;
    private setScrollState;
    /**
     * Initializes a new instance of the HScroll class.
     * @param options  - Specifies HScroll model properties as options.
     * @param 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
     * @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
     * @param  {HScrollModel} oldProp
     * @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
     * @blazorProperty 'OnItemRender'
     */
    beforeItemRender?: base.EmitType<MenuEventArgs>;
    /**
     * Triggers before opening the menu item.
     * @event
     * @blazorProperty 'OnOpen'
     */
    beforeOpen?: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers while opening the menu item.
     * @event
     * @blazorProperty 'Opened'
     */
    onOpen?: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers before closing the menu.
     * @event
     * @blazorProperty 'OnClose'
     */
    beforeClose?: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers while closing the menu.
     * @event
     * @blazorProperty 'Closed'
     */
    onClose?: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers while selecting menu item.
     * @event
     * @blazorProperty 'ItemSelected'
     */
    select?: base.EmitType<MenuEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     * @event
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Event>;
    /**
     * Defines class/multiple classes separated by a space in the Menu wrapper.
     * @default ''
     */
    cssClass?: string;
    /**
     * 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;
    /**
     * 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;
}
//node_modules/@syncfusion/ej2-navigations/src/common/menu-base.d.ts
/**
 * 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;
}
/**
 * @private
 * Base class for Menu and ContextMenu components.
 */
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;
    /**
     * Triggers while rendering each menu item.
     * @event
     * @blazorProperty 'OnItemRender'
     */
    beforeItemRender: base.EmitType<MenuEventArgs>;
    /**
     * Triggers before opening the menu item.
     * @event
     * @blazorProperty 'OnOpen'
     */
    beforeOpen: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers while opening the menu item.
     * @event
     * @blazorProperty 'Opened'
     */
    onOpen: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers before closing the menu.
     * @event
     * @blazorProperty 'OnClose'
     */
    beforeClose: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers while closing the menu.
     * @event
     * @blazorProperty 'Closed'
     */
    onClose: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers while selecting menu item.
     * @event
     * @blazorProperty 'ItemSelected'
     */
    select: base.EmitType<MenuEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Event>;
    /**
     * Defines class/multiple classes separated by a space in the Menu wrapper.
     * @default ''
     */
    cssClass: string;
    /**
     * 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;
    /**
     * 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
     */
    constructor(options?: MenuBaseModel, element?: string | HTMLUListElement);
    /**
     * Initialized third party configuration settings.
     * @private
     */
    protected preRender(): void;
    /**
     * Initialize the control rendering
     * @private
     */
    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): void;
    private destroyScrollObj;
    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 checkScrollOffset;
    private addScrolling;
    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;
    private getItem;
    private getItems;
    private getIdx;
    private getLI;
    private isBlazor;
    private removeChildElement;
    /**
     * Called internally if any of the property value changed
     * @private
     * @param {MenuBaseModel} newProp
     * @param {MenuBaseModel} oldProp
     * @returns void
     */
    onPropertyChanged(newProp: MenuBaseModel, oldProp: MenuBaseModel): void;
    private getChangedItemIndex;
    private removeItem;
    /**
     * Used to unwire the bind events.
     * @private
     */
    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
     */
    protected getPersistData(): string;
    /**
     * Get wrapper element.
     * @returns 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 items Text items that needs to be enabled/disabled.
     * @param enable Set `true`/`false` to enable/disable the list items.
     * @param 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 items Text items that needs to be shown.
     * @param 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 items Text items that needs to be hidden.
     * @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 items Text items that needs to be removed.
     * @returns void
     */
    removeItems(items: string[], isUniqueId?: boolean): void;
    /**
     * It is used to insert the menu items after the specified menu item text.
     * @param items Items that needs to be inserted.
     * @param text Text item after that the element to be inserted.
     * @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 items Items that needs to be inserted.
     * @param text Text item before that the element to be inserted.
     * @param 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;
}
/**
 * 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/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
     */
    protected preRender(): void;
    /**
     * To Initialize the vertical scroll rendering
     * @private
     */
    protected render(): void;
    private setScrollState;
    /**
     * Initializes a new instance of the VScroll class.
     * @param options  - Specifies VScroll model properties as options.
     * @param 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
     * @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
     * @param  {VScrollModel} oldProp
     * @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
     */
    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
     */
    protected preRender(): void;
    protected initialize(): void;
    /**
     * This method is used to open the ContextMenu in specified position.
     * @param top - To specify ContextMenu vertical positioning.
     * @param left - To specify ContextMenu horizontal positioning.
     * @param target - To calculate z-index for ContextMenu based upon the specified target.
     * @method open
     * @returns void
     */
    open(top: number, left: number, target?: HTMLElement): void;
    /**
     * Closes the ContextMenu if it is opened.
     */
    close(): void;
    /**
     * Called internally if any of the property value changed
     * @private
     * @param {ContextMenuModel} newProp
     * @param {ContextMenuModel} oldProp
     * @returns void
     */
    onPropertyChanged(newProp: ContextMenuModel, oldProp: ContextMenuModel): void;
    /**
     * Get module name.
     * @returns string
     * @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;
    /**
     * Specifies mapping fields from the dataSource.
     * @default { itemId: "id", text: "text", parentId: "parentId", iconCss: "iconCss", url: "url", separator: "separator",
     * children: "items" }
     */
    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;
    /**
     * 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
     */
    constructor(options?: MenuModel, element?: string | HTMLUListElement);
    /**
     * Get module name.
     * @returns string
     * @private
     */
    protected getModuleName(): string;
    /**
     * For internal use only - prerender processing.
     * @private
     */
    protected preRender(): void;
    protected initialize(): void;
    private updateMenuItems;
    /**
     * Called internally if any of the property value changed
     * @private
     * @param {MenuModel} newProp
     * @param {MenuModel} oldProp
     * @returns void
     */
    onPropertyChanged(newProp: MenuModel, oldProp: MenuModel): void;
    private createMenuItems;
    /**
     * This method is used to open the Menu in hamburger mode.
     * @method open
     * @returns void
     */
    open(): void;
    /**
     * Closes the Menu if it is opened in hamburger mode.
     */
    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
     * @blazorType 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`](./variations.html#types) 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
     * @blazorType double
     */
    zIndex?: string | number;
    /**
     * Triggers when component is created.
     * @event 
     * @blazorproperty 'Created'
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when component is closed.
     * @event 
     * @blazorproperty 'OnClose'
     * @blazorType Syncfusion.EJ2.Blazor.Navigations.EventArgs
     */
    close?: base.EmitType<EventArgs>;
    /**
     * Triggers when component is opened.
     * @event 
     * @blazorproperty 'OnOpen'
     * @blazorType Syncfusion.EJ2.Blazor.Navigations.EventArgs
     */
    open?: base.EmitType<EventArgs>;
    /**
     * Triggers when the state(expand/collapse) of the component is changed.
     * @event 
     * @blazorproperty 'Changed'
     */
    change?: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when component gets destroyed.
     * @event 
     * @blazorproperty 'Destroyed'
     */
    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;
    /**
     * 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
     * @blazorType 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`](./variations.html#types) 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
     * @blazorType double
     */
    zIndex: string | number;
    /**
     * Triggers when component is created.
     * @event
     * @blazorproperty 'Created'
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when component is closed.
     * @event
     * @blazorproperty 'OnClose'
     * @blazorType Syncfusion.EJ2.Blazor.Navigations.EventArgs
     */
    close: base.EmitType<EventArgs>;
    /**
     * Triggers when component is opened.
     * @event
     * @blazorproperty 'OnOpen'
     * @blazorType Syncfusion.EJ2.Blazor.Navigations.EventArgs
     */
    open: base.EmitType<EventArgs>;
    /**
     * Triggers when the state(expand/collapse) of the component is changed.
     * @event
     * @blazorproperty 'Changed'
     */
    change: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when component gets destroyed.
     * @event
     * @blazorproperty 'Destroyed'
     */
    destroyed: base.EmitType<Object>;
    constructor(options?: SidebarModel, element?: string | HTMLElement);
    protected preRender(): void;
    protected render(): void;
    protected initialize(): void;
    private setEnableRTL;
    private setTarget;
    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
     * @private
     */
    protected getModuleName(): string;
    /**
     * Shows or hides the Sidebar based on the current state.
     * @returns void
     */
    toggle(e?: Event): void;
    protected getState(): boolean;
    private setMediaQuery;
    protected resize(e: Event): void;
    private documentclickHandler;
    private enableGestureHandler;
    private setEnableGestures;
    private wireEvents;
    private unWireEvents;
    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
     * @blazorType 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;
}
/**
 * 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;
    /**
     * 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;
    /**
     * Specifies whether to show the close button for header items to base.remove the item from the Tab.
     * @default false
     */
    showCloseButton?: boolean;
    /**
     * Specifies the scrolling distance in scroller.
     * @default null  
     */
    scrollStep?: number;
    /**
     * 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
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Event>;
    /**
     * The event will be fired before adding the item to the Tab.
     * @event
     * @blazorProperty 'Adding'
     */
    adding?: base.EmitType<AddEventArgs>;
    /**
     * The event will be fired after adding the item to the Tab.
     * @event
     * @blazorProperty 'Added'
     */
    added?: base.EmitType<AddEventArgs>;
    /**
     * The event will be fired before the item gets selected.
     * @event
     * @blazorProperty 'Selecting'
     */
    selecting?: base.EmitType<SelectingEventArgs>;
    /**
     * The event will be fired after the item gets selected.
     * @event
     * @blazorProperty 'Selected'
     */
    selected?: base.EmitType<SelectEventArgs>;
    /**
     * The event will be fired before removing the item from the Tab.
     * @event
     * @blazorProperty 'Removing'
     */
    removing?: base.EmitType<RemoveEventArgs>;
    /**
     * The event will be fired after removing the item from the Tab.
     * @event
     * @blazorProperty 'Removed'
     */
    removed?: base.EmitType<RemoveEventArgs>;
    /**
     * The event will be fired when the component gets destroyed.
     * @event
     * @blazorProperty 'Destroyed'
     */
    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';
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;
}
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;
}
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;
}
export interface AddEventArgs extends base.BaseEventArgs {
    /** Defines the added Tab item element */
    addedItems: TabItemModel[];
    /** Defines the prevent action. */
    cancel?: boolean;
}
export  class TabActionSettings extends base.ChildProperty<TabActionSettings> {
    /**
     * Specifies the animation effect for displaying Tab content.
     * @default 'SlideLeftIn'
     * @aspType string
     * @blazorType 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;
}
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;
}
/**
 * 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;
    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 animateOptions;
    private animObj;
    private maxHeight;
    private title;
    private initRender;
    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 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;
    /**
     * 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;
    /**
     * Specifies whether to show the close button for header items to remove the item from the Tab.
     * @default false
     */
    showCloseButton: boolean;
    /**
     * Specifies the scrolling distance in scroller.
     * @default null
     */
    scrollStep: number;
    /**
     * 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
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Event>;
    /**
     * The event will be fired before adding the item to the Tab.
     * @event
     * @blazorProperty 'Adding'
     */
    adding: base.EmitType<AddEventArgs>;
    /**
     * The event will be fired after adding the item to the Tab.
     * @event
     * @blazorProperty 'Added'
     */
    added: base.EmitType<AddEventArgs>;
    /**
     * The event will be fired before the item gets selected.
     * @event
     * @blazorProperty 'Selecting'
     */
    selecting: base.EmitType<SelectingEventArgs>;
    /**
     * The event will be fired after the item gets selected.
     * @event
     * @blazorProperty 'Selected'
     */
    selected: base.EmitType<SelectEventArgs>;
    /**
     * The event will be fired before removing the item from the Tab.
     * @event
     * @blazorProperty 'Removing'
     */
    removing: base.EmitType<RemoveEventArgs>;
    /**
     * The event will be fired after removing the item from the Tab.
     * @event
     * @blazorProperty 'Removed'
     */
    removed: base.EmitType<RemoveEventArgs>;
    /**
     * The event will be fired when the component gets destroyed.
     * @event
     * @blazorProperty 'Destroyed'
     */
    destroyed: base.EmitType<Event>;
    /**
     * Removes the component from the DOM and detaches all its related event handlers, attributes and classes.
     * @returns void
     */
    destroy(): void;
    /**
     * Initialize component
     * @private
     */
    protected preRender(): void;
    /**
     * Initializes a new instance of the Tab class.
     * @param options  - Specifies Tab model properties as options.
     * @param element  - Specifies the element that is rendered as a Tab.
     */
    constructor(options?: TabModel, element?: string | HTMLElement);
    /**
     * Initialize the component rendering
     * @private
     */
    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 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 setOrientation;
    private setCssClass;
    private setContentHeight;
    private getHeight;
    private setActiveBorder;
    private setActive;
    private setItems;
    private setRTL;
    private refreshActiveBorder;
    private showPopup;
    private wireEvents;
    private unWireEvents;
    private clickHandler;
    private swipeHandler;
    private spaceKeyDown;
    private keyHandler;
    private refreshActElePosition;
    private refreshItemVisibility;
    private hoverHandler;
    private evalOnPropertyChangeItems;
    /**
     * 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  {TabItemsModel[]} 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;
    /**
     * 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.
     * @returns void.
     */
    select(args: number | HTEle): void;
    private selectingContent;
    /**
     * 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
     */
    protected getPersistData(): string;
    /**
     * Returns the current module name.
     * @returns string
     * @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
     * @param  {TabModel} oldProp
     * @returns void
     * @private
     */
    onPropertyChanged(newProp: TabModel, oldProp: TabModel): 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;
    /**
     * 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 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 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
     * @blazorProperty 'OnClick'
     */
    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;
    /**
     * 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;
    /**
     * The event will be fired on clicking the Toolbar elements.
     * @event
     * @blazorProperty 'Clicked'
     */
    clicked?: base.EmitType<ClickEventArgs>;
    /**
     * The event will be fired when the control is rendered.
     * @event
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Event>;
    /**
     * The event will be fired when the control gets destroyed.
     * @event
     * @blazorProperty 'Destroyed'
     */
    destroyed?: base.EmitType<Event>;
    /**
     * The event will be fired before the control is rendered on a page.
     * @event
     * @blazorProperty 'OnCreate'
     * @deprecated
     */
    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';
export  type ItemAlign = 'Left' | 'Center' | 'Right';
export interface ClickEventArgs extends base.BaseEventArgs {
    /** Defines the current Toolbar Item Object. */
    item: ItemModel;
    /**
     * Defines the current Event arguments.
     * @blazorType MouseEventArgs
     */
    originalEvent: Event;
    /** Defines the prevent action. */
    cancel?: boolean;
}
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;
    /**
     * 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 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 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
     * @blazorProperty 'OnClick'
     */
    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;
    /** @hidden */
    private popObj;
    /** @hidden */
    private tbarEle;
    /** @hidden */
    private tbarAlgEle;
    /** @hidden */
    private tbarAlign;
    /** @hidden */
    private tbarEleMrgn;
    /** @hidden */
    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;
    /**
     * 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;
    /**
     * The event will be fired on clicking the Toolbar elements.
     * @event
     * @blazorProperty 'Clicked'
     */
    clicked: base.EmitType<ClickEventArgs>;
    /**
     * The event will be fired when the control is rendered.
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Event>;
    /**
     * The event will be fired when the control gets destroyed.
     * @event
     * @blazorProperty 'Destroyed'
     */
    destroyed: base.EmitType<Event>;
    /**
     * The event will be fired before the control is rendered on a page.
     * @event
     * @blazorProperty 'OnCreate'
     * @deprecated
     */
    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
     */
    protected preRender(): void;
    /**
     * Initializes a new instance of the Toolbar class.
     * @param options  - Specifies Toolbar model properties as options.
     * @param element  - Specifies the element that is rendered as a Toolbar.
     */
    constructor(options?: ToolbarModel, element?: string | HTMLElement);
    private wireEvents;
    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
     */
    protected render(): void;
    private initialize;
    private renderControl;
    /** @hidden */
    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 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  {ItemsModel[]} 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 refreshToolbarTemplate;
    private itemClick;
    private activeEleSwitch;
    private activeEleRemove;
    protected getPersistData(): string;
    /**
     * Returns the current module name.
     * @returns 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
     * @param  {ToolbarModel} oldProp
     * @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
     * @blazorDatasourceNullIgnore
     * @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`](http://ej2.syncfusion.com/documentation/data/api-query.html)
     * 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;
    /**
     * 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;
    /**
     * 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;
    /**
     * 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](http://ej2.syncfusion.com/documentation/base/template-engine.html)
     * 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;
    /**
     * Triggers when the TreeView control is created successfully.
     * @event
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when data source is populated in the TreeView.
     * @event
     * @blazorProperty 'DataBound'
     */
    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
     * @blazorProperty 'DataSourceChanged'
     */
    dataSourceChanged?: base.EmitType<DataSourceChangedEventArgs>;
    /**
     * Triggers before the TreeView node is appended to the TreeView element. It helps to customize specific nodes.
     * @event
     * @blazorProperty 'OnDrawNode'
     */
    drawNode?: base.EmitType<DrawNodeEventArgs>;
    /**
     * Triggers when the TreeView control is destroyed successfully.
     * @event
     * @blazorProperty 'Destroyed'
     */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers when key press is successful. It helps to customize the operations at key press.
     * @event
     * @blazorProperty 'OnKeyPress'
     */
    keyPress?: base.EmitType<NodeKeyPressEventArgs>;
    /**
     * Triggers when the TreeView node is checked/unchecked successfully.
     * @event
     * @blazorProperty 'NodeChecked'
     */
    nodeChecked?: base.EmitType<NodeCheckEventArgs>;
    /**
     * Triggers before the TreeView node is to be checked/unchecked.
     * @event
     * @blazorProperty 'NodeChecking'
     */
    nodeChecking?: base.EmitType<NodeCheckEventArgs>;
    /**
     * Triggers when the TreeView node is clicked successfully.
     * @event
     * @blazorProperty 'NodeClicked'
     */
    nodeClicked?: base.EmitType<NodeClickEventArgs>;
    /**
     * Triggers when the TreeView node collapses successfully.
     * @event
     * @blazorProperty 'NodeCollapsed'
     */
    nodeCollapsed?: base.EmitType<NodeExpandEventArgs>;
    /**
     * Triggers before the TreeView node collapses.
     * @event
     * @blazorProperty 'NodeCollapsing'
     */
    nodeCollapsing?: base.EmitType<NodeExpandEventArgs>;
    /**
     * Triggers when the TreeView node is dragged (moved) continuously.
     * @deprecated
     * @event
     * @blazorProperty 'NodeDragging'
     */
    nodeDragging?: base.EmitType<DragAndDropEventArgs>;
    /**
     * Triggers when the TreeView node drag (move) starts.
     * @event
     * @blazorProperty 'OnNodeDragStart'
     */
    nodeDragStart?: base.EmitType<DragAndDropEventArgs>;
    /**
     * Triggers when the TreeView node drag (move) is stopped.
     * @event
     * @blazorProperty 'OnNodeDragged'
     */
    nodeDragStop?: base.EmitType<DragAndDropEventArgs>;
    /**
     * Triggers when the TreeView node is dropped on target element successfully.
     * @event
     * @blazorProperty 'NodeDropped'
     */
    nodeDropped?: base.EmitType<DragAndDropEventArgs>;
    /**
     * Triggers when the TreeView node is renamed successfully.
     * @event
     * @blazorProperty 'NodeEdited'
     */
    nodeEdited?: base.EmitType<NodeEditEventArgs>;
    /**
     * Triggers before the TreeView node is renamed.
     * @event
     * @blazorProperty 'NodeEditing'
     */
    nodeEditing?: base.EmitType<NodeEditEventArgs>;
    /**
     * Triggers when the TreeView node expands successfully.
     * @event
     * @blazorProperty 'NodeExpanded'
     */
    nodeExpanded?: base.EmitType<NodeExpandEventArgs>;
    /**
     * Triggers before the TreeView node is to be expanded.
     * @event
     * @blazorProperty 'NodeExpanding'
     */
    nodeExpanding?: base.EmitType<NodeExpandEventArgs>;
    /**
     * Triggers when the TreeView node is selected/unselected successfully.
     * @event
     * @blazorProperty 'NodeSelected'
     */
    nodeSelected?: base.EmitType<NodeSelectEventArgs>;
    /**
     * Triggers before the TreeView node is selected/unselected.
     * @event
     * @blazorProperty 'NodeSelecting'
     */
    nodeSelecting?: base.EmitType<NodeSelectEventArgs>;
}
//node_modules/@syncfusion/ej2-navigations/src/treeview/treeview.d.ts
export interface EJ2Instance extends HTMLElement {
    ej2_instances: Object[];
}
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.
     * @BlazorType NodeData
     */
    nodeData: {
        [key: string]: Object;
    };
    event: MouseEvent | base.KeyboardEventArgs | base.TapEventArgs;
}
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.
     * @BlazorType NodeData
     */
    nodeData: {
        [key: string]: Object;
    };
}
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.
     * @BlazorType List<NodeData>
     */
    data: {
        [key: string]: Object;
    }[];
}
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.
     * @BlazorType NodeData
     */
    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;
}
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.
     * @BlazorType NodeData
     */
    draggedNodeData: {
        [key: string]: Object;
    };
    /**
     * Returns the dragged/dropped element's target index position
     * @isBlazorNullableType true
     */
    dropIndex: number;
    /**
     * Returns the dragged/dropped element's target level
     * @isBlazorNullableType true
     */
    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.
     * @BlazorType NodeData
     */
    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;
}
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;
}
export interface NodeClickEventArgs {
    /**
     * Return the actual event.
     */
    event: MouseEvent;
    /**
     * Return the current clicked TreeView node.
     */
    node: HTMLLIElement;
}
export interface NodeKeyPressEventArgs {
    /**
     * If you want to cancel this event then, set cancel as true. Otherwise, false.
     */
    cancel: boolean;
    /**
     * Return the actual event.
     * @blazorType base.KeyboardEventArgs
     */
    event: base.KeyboardEventArgs;
    /**
     * Return the current active TreeView node.
     */
    node: HTMLLIElement;
}
export interface DataBoundEventArgs {
    /**
     * Return the TreeView data.
     * @isGenericType true
     */
    data: {
        [key: string]: Object;
    }[];
}
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;
    }[];
}
export interface ItemCreatedArgs {
    curData: {
        [key: string]: Object;
    };
    item: HTMLElement;
    options: lists.ListBaseOptions;
    text: string;
    fields: lists.FieldsMapping;
}
export interface NodeData {
    id: string;
    text: string;
    parentID: string;
    selected: boolean;
    expanded: boolean;
    isChecked: string;
    hasChildren: boolean;
}
/**
 * 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
     * @blazorDatasourceNullIgnore
     * @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`](http://ej2.syncfusion.com/documentation/data/api-query.html)
     * 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;
}
export  type ExpandOnSettings = 'Auto' | 'Click' | 'DblClick' | 'None';
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 keyConfigs;
    private isInitalExpand;
    private index;
    private preventExpand;
    private hasPid;
    private dragParent;
    private checkedElement;
    private ele;
    private disableNode;
    private onLoaded;
    private parentNodeCheck;
    private parentCheckData;
    private expandChildren;
    private isBlazorPlatform;
    private isFieldChange;
    /**
     * 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;
    /**
     * 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;
    /**
     * 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;
    /**
     * 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](http://ej2.syncfusion.com/documentation/base/template-engine.html)
     * 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;
    /**
     * Triggers when the TreeView control is created successfully.
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when data source is populated in the TreeView.
     * @event
     * @blazorProperty 'DataBound'
     */
    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
     * @blazorProperty 'DataSourceChanged'
     */
    dataSourceChanged: base.EmitType<DataSourceChangedEventArgs>;
    /**
     * Triggers before the TreeView node is appended to the TreeView element. It helps to customize specific nodes.
     * @event
     * @blazorProperty 'OnDrawNode'
     */
    drawNode: base.EmitType<DrawNodeEventArgs>;
    /**
     * Triggers when the TreeView control is destroyed successfully.
     * @event
     * @blazorProperty 'Destroyed'
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers when key press is successful. It helps to customize the operations at key press.
     * @event
     * @blazorProperty 'OnKeyPress'
     */
    keyPress: base.EmitType<NodeKeyPressEventArgs>;
    /**
     * Triggers when the TreeView node is checked/unchecked successfully.
     * @event
     * @blazorProperty 'NodeChecked'
     */
    nodeChecked: base.EmitType<NodeCheckEventArgs>;
    /**
     * Triggers before the TreeView node is to be checked/unchecked.
     * @event
     * @blazorProperty 'NodeChecking'
     */
    nodeChecking: base.EmitType<NodeCheckEventArgs>;
    /**
     * Triggers when the TreeView node is clicked successfully.
     * @event
     * @blazorProperty 'NodeClicked'
     */
    nodeClicked: base.EmitType<NodeClickEventArgs>;
    /**
     * Triggers when the TreeView node collapses successfully.
     * @event
     * @blazorProperty 'NodeCollapsed'
     */
    nodeCollapsed: base.EmitType<NodeExpandEventArgs>;
    /**
     * Triggers before the TreeView node collapses.
     * @event
     * @blazorProperty 'NodeCollapsing'
     */
    nodeCollapsing: base.EmitType<NodeExpandEventArgs>;
    /**
     * Triggers when the TreeView node is dragged (moved) continuously.
     * @deprecated
     * @event
     * @blazorProperty 'NodeDragging'
     */
    nodeDragging: base.EmitType<DragAndDropEventArgs>;
    /**
     * Triggers when the TreeView node drag (move) starts.
     * @event
     * @blazorProperty 'OnNodeDragStart'
     */
    nodeDragStart: base.EmitType<DragAndDropEventArgs>;
    /**
     * Triggers when the TreeView node drag (move) is stopped.
     * @event
     * @blazorProperty 'OnNodeDragged'
     */
    nodeDragStop: base.EmitType<DragAndDropEventArgs>;
    /**
     * Triggers when the TreeView node is dropped on target element successfully.
     * @event
     * @blazorProperty 'NodeDropped'
     */
    nodeDropped: base.EmitType<DragAndDropEventArgs>;
    /**
     * Triggers when the TreeView node is renamed successfully.
     * @event
     * @blazorProperty 'NodeEdited'
     */
    nodeEdited: base.EmitType<NodeEditEventArgs>;
    /**
     * Triggers before the TreeView node is renamed.
     * @event
     * @blazorProperty 'NodeEditing'
     */
    nodeEditing: base.EmitType<NodeEditEventArgs>;
    /**
     * Triggers when the TreeView node expands successfully.
     * @event
     * @blazorProperty 'NodeExpanded'
     */
    nodeExpanded: base.EmitType<NodeExpandEventArgs>;
    /**
     * Triggers before the TreeView node is to be expanded.
     * @event
     * @blazorProperty 'NodeExpanding'
     */
    nodeExpanding: base.EmitType<NodeExpandEventArgs>;
    /**
     * Triggers when the TreeView node is selected/unselected successfully.
     * @event
     * @blazorProperty 'NodeSelected'
     */
    nodeSelected: base.EmitType<NodeSelectEventArgs>;
    /**
     * Triggers before the TreeView node is selected/unselected.
     * @event
     * @blazorProperty 'NodeSelecting'
     */
    nodeSelecting: base.EmitType<NodeSelectEventArgs>;
    constructor(options?: TreeViewModel, element?: string | HTMLElement);
    /**
     * Get component name.
     * @returns string
     * @private
     */
    getModuleName(): string;
    /**
     * Initialize the event handler
     */
    protected preRender(): void;
    /**
     * Get the properties to be maintained in the persisted state.
     * @returns string
     * @hidden
     */
    getPersistData(): string;
    /**
     * To Initialize the control rendering
     * @private
     */
    protected render(): void;
    private initialize;
    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 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 destroyTemplate;
    private reRenderNodes;
    private setCssClass;
    private editingHandler;
    private createTextbox;
    private updateOldText;
    private inputFocusOut;
    private appendNewText;
    private getElement;
    private getId;
    private getEditEvent;
    private getNodeObject;
    private getChildNodeObject;
    private setDragAndDrop;
    private initializeDrag;
    private dragCancelAction;
    private dragAction;
    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 setTouchClass;
    private updatePersistProp;
    private removeField;
    private getMapperProp;
    private updateField;
    private updateChildField;
    private triggerEvent;
    private updateBlazorTemplate;
    private wireInputEvents;
    private wireEditingEvents;
    private wireClickEvent;
    private wireExpandOnEvent;
    private mouseDownStatus;
    private mouseDownHandler;
    private preventContextMenu;
    private wireEvents;
    private unWireEvents;
    private parents;
    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;
    /**
     * 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[];
    /**
     * 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.
     * @BlazorType NodeData
     */
    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;
    /**
     * 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/index.d.ts
/**
 * Notification Components
 */
//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
   * @blazorProperty 'Clicked'
   */
    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. 
     * Works only with string values.
     * @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 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.
     * @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 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.
     * @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
     * @default { X: "Left", Y: "Top" }
     */
    position?: ToastPositionModel;
    /**
     * Specifies the collection of Toast action `buttons` to be rendered with the given
     * buttons.Button model properties and its click action handler.
     * @default [{}]
     */
    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
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Event>;
    /**
     * Triggers the event after the Toast gets destroyed.
     * @event
     * @blazorProperty 'Destroyed'
     */
    destroyed?: base.EmitType<Event>;
    /**
     * Triggers the event after the Toast shown on the target container.
     * @event
     * @blazorProperty 'Opened'
     */
    open?: base.EmitType<ToastOpenArgs>;
    /**
     * Triggers the event before the toast shown.
     * @event
     * @blazorProperty 'OnOpen'
     */
    beforeOpen?: base.EmitType<ToastBeforeOpenArgs>;
    /**
     * Trigger the event after the Toast hides.
     * @event
     * @blazorProperty 'Closed'
     */
    close?: base.EmitType<ToastCloseArgs>;
    /**
     * The event will be fired while clicking on the Toast.
     * @event
     * @blazorProperty 'OnClick'
     */
    click?: base.EmitType<ToastClickEventArgs>;
}
//node_modules/@syncfusion/ej2-notifications/src/toast/toast.d.ts
/**
 * Specifies the options for positioning the Toast in Y axis.
 */
export  type PositionY = 'Top' | 'Bottom';
/**
 * 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 the Toast element. */
    element: HTMLElement;
    /** Defines the prevent action for before opening toast. */
    cancel: boolean;
}
/**
 * Specifies the event arguments of Toast open.
 */
export interface ToastOpenArgs extends base.BaseEventArgs {
    /**
     * Defines the Toast object.
     * @deprecated
     */
    toastObj?: Toast;
    /** 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 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
     * @blazorProperty 'Clicked'
     */
    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;
    /**
     * Initializes a new instance of the Toast class.
     * @param options  - Specifies Toast model properties as options.
     * @param 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.
     * Works only with string values.
     * @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 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.
     * @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 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.
     * @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
     * @default { X: "Left", Y: "Top" }
     */
    position: ToastPositionModel;
    /**
     * Specifies the collection of Toast action `buttons` to be rendered with the given
     * Button model properties and its click action handler.
     * @default [{}]
     */
    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
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Event>;
    /**
     * Triggers the event after the Toast gets destroyed.
     * @event
     * @blazorProperty 'Destroyed'
     */
    destroyed: base.EmitType<Event>;
    /**
     * Triggers the event after the Toast shown on the target container.
     * @event
     * @blazorProperty 'Opened'
     */
    open: base.EmitType<ToastOpenArgs>;
    /**
     * Triggers the event before the toast shown.
     * @event
     * @blazorProperty 'OnOpen'
     */
    beforeOpen: base.EmitType<ToastBeforeOpenArgs>;
    /**
     * Trigger the event after the Toast hides.
     * @event
     * @blazorProperty 'Closed'
     */
    close: base.EmitType<ToastCloseArgs>;
    /**
     * The event will be fired while clicking on the Toast.
     * @event
     * @blazorProperty 'OnClick'
     */
    click: base.EmitType<ToastClickEventArgs>;
    /**
     * Gets the base.Component module name.
     * @private
     */
    getModuleName(): string;
    /**
     * Gets the persisted state properties of the base.Component.
     */
    protected getPersistData(): string;
    /**
     * Removes the component from the DOM and detaches all its related event handlers, attributes and classes.
     */
    destroy(): void;
    /**
     * Initialize the event handler
     * @private
     */
    protected preRender(): void;
    /**
     * Initialize the component rendering
     * @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
     */
    show(toastObj?: ToastModel): void;
    private swipeHandler;
    private templateChanges;
    private setCSSClass;
    private setWidthHeight;
    private templateRendering;
    /**
     * To Hide Toast element on a document.
     * To Hide all toast element when passing 'All'.
     * @param  {HTMLElement| Element| string} element? - To Hide Toast element on screen.
     * @returns void
     */
    hide(element?: HTMLElement | Element | string): void;
    private fetchEle;
    private blazorTemplate;
    private clearProgress;
    private clearContainerPos;
    private clearContentTemplate;
    private clearToastTemplate;
    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 displayToast;
    private getContainer;
    /**
     * Called internally if any of the property value changed.
     * @private
     */
    onPropertyChanged(newProp: ToastModel, oldProp: ToastModel): void;
}
 }
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 chartData;
    private chartPlotData;
    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/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/index.d.ts
/**
 * Collections classes
 * @hidden
 */
//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 {
    /**
     * 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;
}
//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/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/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;
    /**
     * `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/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;
    /**
     * 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;
}
//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/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
}
//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): void;
    onEndPageLayout(args: PdfGridEndPageLayoutEventArgs): 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/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/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;
}
//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 {
    /**
     * 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;
    /**
     * 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;
}
//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, color2: number, color3: number);
    constructor(color1: number, color2: number, color3: number, color4: number);
    /**
     * `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 `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 `RGB` color.
     * @private
     */
    private rgbToString;
    /**
     * 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 drawPath;
    /**
     * `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;
}
/**
 * `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;
    /**
     * Initialize instance of `GetResourceEventHandler` class.
     * Alternate for event handlers and delegates.
     * @private
     */
    constructor(sender: PdfPageBase | PdfTemplate);
}
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;
    /**
     * 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;
    /**
     * 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;
}
//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 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
     */
    private value;
    /**
     * 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;
    /**
     * 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;
    /**
     * 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;
    /**
     * 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;
    /**
     * `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;
    /**
     * 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;
    /**
     * 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-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/diagram/action.d.ts
/** @private */
export  function findActiveElement(event: MouseEvent | TouchEvent, pdfBase: PdfViewerBase, pdfViewer: PdfViewer): drawings.IElement;
/** @private */
export  function findObjectsUnderMouse(pdfBase: PdfViewerBase, pdfViewer: PdfViewer, event: MouseEvent): drawings.IElement[];
/** @private */
export  function findObjectUnderMouse(objects: (PdfAnnotationBaseModel)[], event: any, pdfBase: PdfViewerBase, pdfViewer: PdfViewer): drawings.IElement;
/** @private */
export  function findElementUnderMouse(obj: drawings.IElement, position: drawings.PointModel, padding?: number): drawings.DrawingElement;
/** @private */
export  function insertObject(obj: PdfAnnotationBaseModel, key: string, collection: Object[]): void;
/** @private */
export  function findTargetShapeElement(container: drawings.Container, position: drawings.PointModel, padding?: number): drawings.DrawingElement;
/** @private */
export  function findObjects(region: drawings.PointModel, objCollection: (PdfAnnotationBaseModel)[]): (PdfAnnotationBaseModel)[];
/** @private */
export  function findActivePage(event: MouseEvent, pdfBase: PdfViewerBase): number;
/**
 * @hidden
 */
export  class ActiveElements {
    private activePage;
    /** @private */
    /** @private */
    activePageID: number;
    constructor();
}
//node_modules/@syncfusion/ej2-pdfviewer/src/diagram/connector-util.d.ts
/** @private */
export  function getConnectorPoints(obj: PdfAnnotationBaseModel, points?: drawings.PointModel[]): drawings.PointModel[];
/** @private */
export  function getSegmentPath(connector: PdfAnnotationBaseModel, points: drawings.PointModel[]): string;
/** @private */
export  function updateSegmentElement(connector: PdfAnnotationBaseModel, points: drawings.PointModel[], element: drawings.PathElement): drawings.PathElement;
/** @private */
export  function getSegmentElement(connector: PdfAnnotationBaseModel, segmentElement: drawings.PathElement): drawings.PathElement;
/** @private */
export  function updateDecoratorElement(obj: PdfAnnotationBaseModel, element: drawings.DrawingElement, pt: drawings.PointModel, adjacentPoint: drawings.PointModel, isSource: Boolean): void;
/** @private */
export  function getDecoratorElement(obj: PdfAnnotationBaseModel, offsetPoint: drawings.PointModel, adjacentPoint: drawings.PointModel, isSource: Boolean): drawings.PathElement;
/** @private */
export  function clipDecorators(connector: PdfAnnotationBaseModel, pts: drawings.PointModel[]): drawings.PointModel[];
/** @private */
export  function clipDecorator(connector: PdfAnnotationBaseModel, points: drawings.PointModel[], isSource: boolean): drawings.PointModel;
/**
 * @hidden
 */
export  function initDistanceLabel(obj: PdfAnnotationBaseModel, points: drawings.PointModel[], measure: MeasureAnnotation): drawings.TextElement[];
/**
 * @hidden
 */
export  function updateDistanceLabel(obj: PdfAnnotationBaseModel, points: drawings.PointModel[], measure: MeasureAnnotation): string;
/**
 * @hidden
 */
export  function updateRadiusLabel(obj: PdfAnnotationBaseModel, measure: MeasureAnnotation): string;
/**
 * @hidden
 */
export  function initPerimeterLabel(obj: PdfAnnotationBaseModel, points: drawings.PointModel[]): drawings.TextElement[];
/**
 * @hidden
 */
export  function updatePerimeterLabel(obj: PdfAnnotationBaseModel, points: drawings.PointModel[], measure: MeasureAnnotation): string;
/**
 * @hidden
 */
export  function removePerimeterLabel(obj: PdfAnnotationBaseModel): void;
/**
 * Used to find the path for polygon shapes
 * @hidden
 */
export  function getPolygonPath(collection: drawings.PointModel[]): string;
/**
 * @hidden
 */
export  function textElement(obj: PdfAnnotationBaseModel, angle: number): drawings.TextElement;
/**
 * @hidden
 */
export  function initLeaders(obj: PdfAnnotationBaseModel, points: drawings.PointModel[]): drawings.PathElement[];
/**
 * @hidden
 */
export  function initLeader(obj: PdfAnnotationBaseModel, point1: drawings.PointModel, point2: drawings.PointModel, isSecondLeader?: boolean): drawings.PathElement;
/** @private */
export  function isPointOverConnector(connector: PdfAnnotationBaseModel, reference: drawings.PointModel): boolean;
/** @private */
export  function findNearestPoint(reference: drawings.PointModel, start: drawings.PointModel, end: drawings.PointModel): drawings.PointModel;
/**
 * @hidden
 */
export  function getDecoratorShape(shape: drawings.DecoratorShapes): string;
//node_modules/@syncfusion/ej2-pdfviewer/src/diagram/dom-util.d.ts
/**
 * @hidden
 */
export  function renderAdornerLayer(bounds: ClientRect, commonStyle: string, cavas: HTMLElement, index: number, pdfViewer: PdfViewer): void;
/**
 * @hidden
 */
export  function createSvg(id: string, width: string | Number, height: string | Number): SVGElement;
//node_modules/@syncfusion/ej2-pdfviewer/src/diagram/drawing-util.d.ts
/**
 * @hidden
 */
export  function isLineShapes(obj: PdfAnnotationBaseModel): boolean;
/**
 * @hidden
 */
export  function setElementStype(obj: PdfAnnotationBaseModel, element: drawings.DrawingElement): void;
/**
 * @hidden
 */
export  function findPointsLength(points: drawings.PointModel[]): number;
/**
 * @hidden
 */
export  function findPerimeterLength(points: drawings.PointModel[]): number;
/**   @private  */
export  function getBaseShapeAttributes(element: drawings.DrawingElement, transform?: Transforms): drawings.BaseAttributes;
/**
 * Get function
 * @private
 */
export  function getFunction(value: Function | string): Function;
/** @private */
export  function cloneObject(obj: any, additionalProp?: Function | string, key?: string): Object;
/** @private */
export  function cloneArray(sourceArray: Object[], additionalProp?: Function | string, key?: string): Object[];
/** @private */
export  function getInternalProperties(propName: string): string[];
/**
 * @hidden
 */
export  function isLeader(obj: PdfAnnotationBaseModel, position: string): Leader;
/**
 * @hidden
 */
export interface Leader {
    leader: string;
    point: drawings.PointModel;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/diagram/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
     */
    renderLabels(viewer: PdfViewer): void;
    private createNewZindexTable;
    /**
     * @private
     */
    getPageTable(pageId: number): ZOrderPageTable;
    /**
     * @private
     */
    setZIndex(index: number, obj: PdfAnnotationBaseModel): void;
    /**
     * @private
     */
    initObject(obj: PdfAnnotationBaseModel): PdfAnnotationBaseModel;
    private initNode;
    /**
     * Allows to initialize the UI of a node
     */
    /**
     * @private
     */
    init(obj: PdfAnnotationBaseModel, canvas: drawings.Container): drawings.DrawingElement;
    private textElement;
    /**
     * @private
     */
    setNodePosition(obj: drawings.DrawingElement, node: PdfAnnotationBaseModel): void;
    /**
     * @private
     */
    initContainer(obj: PdfAnnotationBaseModel): drawings.Container;
    /**
     * @private
     */
    initLine(obj: PdfAnnotationBaseModel): drawings.Canvas;
    /**
     * @private
     */
    add(obj: PdfAnnotationBaseModel): PdfAnnotationBaseModel;
    /**
     * @private
     */
    remove(obj: PdfAnnotationBaseModel): void;
    /**
     * @private
     */
    getPageObjects(pageIndex: number): (PdfAnnotationBaseModel)[];
    /**
     * @private
     */
    refreshCanvasDiagramLayer(diagramLayer?: HTMLCanvasElement, pageIndex?: number): void;
    /**
     * @private
     */
    clearHighlighter(index?: number): void;
    /**
     * @private
     */
    getSelectorElement(diagramId: string, index?: number): SVGElement;
    /**
     * @private
     */
    getAdornerLayerSvg(diagramId: string, index?: number): SVGSVGElement;
    /**
     * @private
     */
    clearSelectorLayer(index?: number): void;
    /**
     * @private
     */
    renderSelector(select?: number, helper?: PdfAnnotationBaseModel): void;
    /**
     * Rotates the given nodes/connectors by the given angle
     * @param obj Defines the objects to be rotated
     * @param angle Defines the angle by which the objects have to be rotated
     * @param pivot Defines the reference point with reference to which the objects have to be rotated
     */
    /**
     * @private
     */
    rotate(obj: PdfAnnotationBaseModel | SelectorModel, angle: number, pivot?: drawings.PointModel): boolean;
    /**
     * @private
     */
    rotateObjects(parent: PdfAnnotationBaseModel | SelectorModel, objects: PdfAnnotationBaseModel[], angle: number, pivot?: drawings.PointModel, includeParent?: boolean): void;
    private getParentSvg;
    /**
     * @private
     */
    renderBorder(selector: drawings.DrawingElement, canvas: HTMLCanvasElement | SVGElement, transform?: Transforms, enableNode?: number, isBorderTickness?: boolean, isSwimlane?: boolean, isSticky?: boolean): void;
    /**
     * @private
     */
    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): void;
    /**
     * @private
     */
    renderRotateThumb(wrapper: drawings.DrawingElement, canvas: HTMLCanvasElement | SVGElement, transform?: Transforms, selectorConstraints?: drawings.SelectorConstraints, canMask?: boolean): void;
    /**
     * @private
     */
    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): void;
    /**
     * @private
     */
    renderPivotLine(element: drawings.DrawingElement, canvas: HTMLCanvasElement | SVGElement, transform?: Transforms, selectorConstraints?: drawings.SelectorConstraints, canMask?: boolean): void;
    /**
     * @private
     */
    renderEndPointHandle(selector: PdfAnnotationBaseModel, canvas: HTMLCanvasElement | SVGElement, constraints: drawings.ThumbsConstraints, transform: Transforms, connectedSource: boolean, connectedTarget?: boolean, isSegmentEditing?: boolean): void;
    /**
     * @private
     */
    initSelectorWrapper(): void;
    /**
     * @private
     */
    select(objArray: string[], multipleSelection?: boolean, preventUpdate?: boolean): void;
    /**
     * @private
     */
    dragSelectedObjects(tx: number, ty: number, pageIndex: number, helper: PdfAnnotationBaseModel): boolean;
    /**
     * @private
     */
    drag(obj: PdfAnnotationBaseModel | SelectorModel, tx: number, ty: number, helper: PdfAnnotationBaseModel): void;
    /**
     * @private
     */
    dragAnnotation(obj: PdfAnnotationBaseModel, tx: number, ty: number): void;
    /**
     * @private
     */
    dragControlPoint(obj: PdfAnnotationBaseModel, tx: number, ty: number, preventUpdate?: boolean, segmentNumber?: number): boolean;
    /**
     * @private
     */
    updateEndPoint(connector: PdfAnnotationBaseModel): void;
    /**
     * @private
     */
    nodePropertyChange(actualObject: PdfAnnotationBaseModel, node: PdfAnnotationBaseModel): void;
    private setLineDistance;
    /**
     * @private
     */
    scaleSelectedItems(sx: number, sy: number, pivot: drawings.PointModel): boolean;
    /**
     * @private
     */
    scale(obj: PdfAnnotationBaseModel | SelectorModel, sx: number, sy: number, pivot: drawings.PointModel): boolean;
    /**
     * @private
     */
    scaleObject(sw: number, sh: number, pivot: drawings.PointModel, obj: drawings.IElement, element: drawings.DrawingElement, refObject: drawings.IElement): void;
    /**
     * @private
     */
    scaleAnnotation(obj: PdfAnnotationBaseModel, sw: number, sh: number, pivot: drawings.PointModel, refObject?: drawings.IElement): boolean;
    /**
     * @private
     */
    checkBoundaryConstraints(tx: number, ty: number, pageIndex: number, nodeBounds?: drawings.Rect, isStamp?: boolean): boolean;
    private RestrictStamp;
    /**
     * @private
     */
    getShapeBounds(shapeElement: drawings.DrawingElement): drawings.Rect;
    /**
     * @private
     */
    getShapePoint(x: number, y: number, w: number, h: number, angle: number, offsetX: number, offsetY: number, cornerPoint: drawings.PointModel): drawings.PointModel;
    /**
     * @private
     */
    dragConnectorEnds(endPoint: string, obj: drawings.IElement, point: drawings.PointModel, segment: drawings.PointModel, target?: drawings.IElement, targetPortId?: string): boolean;
    /**
     * @private
     */
    dragSourceEnd(obj: PdfAnnotationBaseModel, tx: number, ty: number, i: number): boolean;
    /**
     * @private
     */
    updateConnector(connector: PdfAnnotationBaseModel, points: drawings.PointModel[]): void;
    /**
     * @private
     */
    copy(): Object;
    /**
     * @private
     */
    copyObjects(): Object[];
    private getNewObject;
    /**
     * @private
     */
    paste(obj: PdfAnnotationBaseModel[], index: number): void;
    /**
     * @private
     */
    cut(index: number): void;
    /**
     * @private
     */
    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/diagram/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';
/**
 * 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
 *
 * @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' | 
/** 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/diagram/index.d.ts
/**
 * PdfViewer diagram component exported items
 */
//node_modules/@syncfusion/ej2-pdfviewer/src/diagram/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 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;
    /**
     * 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 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 shape annotation label content border color
     * @default '#ffffff00'
     */
    labelBorderColor?: string;
    /**
     * Represents the text anlignment style of annotation
     * @default 'left'
     */
    textAlign?: string;
    /**
     * Represents the text style of annotation
     * @default ''
     */
    font?: PdfFontModel;
    /**
     * Represents the shape annotation label content bounds
     * @default ''
     */
    labelBounds?: PdfBoundsModel;
}
/**
 * Interface for a class ZOrderPageTable
 */
export interface ZOrderPageTableModel {
}
//node_modules/@syncfusion/ej2-pdfviewer/src/diagram/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 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;
    /**
     * 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 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 shape annotation label content border color
     * @default '#ffffff00'
     */
    labelBorderColor: string;
    /**
     * Represents the text anlignment style of annotation
     * @default 'left'
     */
    textAlign: string;
    /**
     * Represents the text style of annotation
     * @default ''
     */
    font: PdfFontModel;
    /**
     * Represents the shape annotation label content bounds
     * @default ''
     */
    labelBounds: PdfBoundsModel;
    constructor(parent: any, propName: string, defaultValue: Object, isArray?: boolean);
}
/**
 * @hidden
 */
export  class ZOrderPageTable {
    private pageIdTemp;
    /** @private */
    /** @private */
    pageId: number;
    private zIndexTemp;
    /** @private */
    /** @private */
    zIndex: number;
    private childNodesTemp;
    /** @private */
    /** @private */
    objects: PdfAnnotationBaseModel[];
    constructor();
}
//node_modules/@syncfusion/ej2-pdfviewer/src/diagram/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[];
    /**
     * 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/diagram/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[];
    /**
     * 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
     */
    init(diagram: any): drawings.Container;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/diagram/tools.d.ts
/**
 * Defines the interactive tools
 * @hidden
 */
export  class ToolBase {
    /**
     * Initializes the tool
     * @param command Command that is corresponding to the current action
     */
    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;
    protected startAction(currentElement: drawings.IElement): void;
    /**   @private  */
    mouseDown(args: MouseEventArgs): void;
    /**   @private  */
    mouseMove(args: MouseEventArgs): boolean;
    /**   @private  */
    mouseUp(args: MouseEventArgs): void;
    protected endAction(): void;
    /**   @private  */
    mouseWheel(args: MouseEventArgs): void;
    /**   @private  */
    mouseLeave(args: MouseEventArgs): void;
    protected updateSize(shape: SelectorModel | PdfAnnotationBaseModel, startPoint: drawings.PointModel, endPoint: drawings.PointModel, corner: string, initialBounds: drawings.Rect, angle?: number): drawings.Rect;
    protected getPivot(corner: string): drawings.PointModel;
}
/**
 * Helps to select the objects
 * @hidden
 */
export  class SelectTool extends ToolBase {
    private action;
    constructor(commandHandler: PdfViewer, base: PdfViewerBase);
    /**   @private  */
    mouseDown(args: MouseEventArgs): void;
    private mouseEventHelper;
    /**   @private  */
    mouseMove(args: MouseEventArgs): boolean;
    /**   @private  */
    mouseUp(args: MouseEventArgs): void;
    /**   @private  */
    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  */
    mouseDown(args: MouseEventArgs): void;
    /**   @private  */
    mouseUp(args: any): void;
    private calculateMouseXDiff;
    private calculateMouseYDiff;
    private calculateMouseActionXDiff;
    private calculateMouseActionYDiff;
    /**   @private  */
    mouseMove(args: MouseEventArgs, isStamp?: boolean): boolean;
    /**   @private  */
    mouseLeave(args: MouseEventArgs): void;
    /**   @private  */
    endAction(): void;
}
/** @hidden */
export  class StampTool extends MoveTool {
    /**   @private  */
    mouseDown(args: MouseEventArgs): any;
    /**   @private  */
    mouseMove(args: MouseEventArgs): boolean;
}
/**
 * Helps to edit the selected connectors
 * @hidden
 */
export  class ConnectTool extends ToolBase {
    protected endPoint: string;
    /**   @private  */
    selectedSegment: drawings.PointModel;
    /**   @private  */
    initialPosition: drawings.PointModel;
    /**   @private  */
    prevSource: PdfAnnotationBaseModel;
    /**   @private  */
    redoElement: PdfAnnotationBaseModel;
    constructor(commandHandler: PdfViewer, base: PdfViewerBase, endPoint: string);
    /**   @private  */
    mouseDown(args: MouseEventArgs): void;
    /**   @private  */
    mouseUp(args: MouseEventArgs): void;
    /**   @private  */
    mouseMove(args: MouseEventArgs): boolean;
    /**   @private  */
    mouseLeave(args: MouseEventArgs): void;
    /**   @private  */
    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  */
    mouseDown(args: MouseEventArgs): void;
    /**   @private  */
    mouseUp(args: MouseEventArgs, isPreventHistory?: boolean): boolean;
    /**   @private  */
    mouseMove(args: MouseEventArgs): boolean;
    /**   @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
     */
    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;
    constructor(commandHandler: PdfViewer, base: PdfViewerBase, sourceObject: PdfAnnotationBaseModel);
    /**   @private  */
    mouseDown(args: MouseEventArgs): void;
    /**   @private  */
    mouseMove(args: MouseEventArgs): boolean;
    /**   @private  */
    mouseUp(args: MouseEventArgs): void;
    /**   @private  */
    endAction(): void;
    /**   @private  */
    updateNodeDimension(obj: PdfAnnotationBaseModel, rect?: drawings.Rect): void;
    /**   @private  */
    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  */
    mouseDown(args: MouseEventArgs): void;
    /**   @private  */
    mouseMove(args: MouseEventArgs): boolean;
    /**   @private  */
    mouseUp(args: MouseEventArgs, isDoubleClineck?: boolean): void;
    /**   @private  */
    mouseWheel(args: MouseEventArgs): void;
    /**   @private  */
    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  */
    mouseDown(args: MouseEventArgs): void;
    /**   @private  */
    mouseUp(args: MouseEventArgs): void;
    /**   @private  */
    mouseMove(args: MouseEventArgs): boolean;
    /**   @private  */
    mouseLeave(args: MouseEventArgs): void;
    /**   @private  */
    endAction(): void;
}
/**
 * Rotates the selected objects
 * @hidden
 */
export  class RotateTool extends ToolBase {
    constructor(commandHandler: PdfViewer, base: PdfViewerBase);
    /**   @private  */
    mouseDown(args: MouseEventArgs): void;
    /**   @private  */
    mouseUp(args: MouseEventArgs): void;
    /**   @private  */
    mouseMove(args: MouseEventArgs): boolean;
    private getTooltipContent;
    /**   @private  */
    mouseLeave(args: MouseEventArgs): void;
    /**   @private  */
    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/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;
}
/**
 * @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
     */
    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
     */
    isShapeCopied: boolean;
    /**
     * @private
     */
    actionCollection: IActionElements[];
    /**
     * @private
     */
    redoCollection: IActionElements[];
    /**
     * @private
     */
    isPopupNoteVisible: boolean;
    /**
     * @private
     */
    undoCommentsElement: IPopupAnnotation[];
    /**
     * @private
     */
    redoCommentsElement: IPopupAnnotation[];
    /**
     * @private
     */
    constructor(pdfViewer: PdfViewer, viewerBase: PdfViewerBase);
    /**
     * Set annotation type to be added in next user interaction in PDF Document.
     * @param type
     * @returns void
     */
    setAnnotationMode(type: AnnotationType): void;
    private clearAnnotationMode;
    deleteAnnotation(): void;
    /**
     * @private
     */
    getAnnotationType(type: string, measureType: string): AnnotationType;
    /**
     * @private
     */
    getAnnotationIndex(pageNumber: number, annotationId: string): number;
    /**
     * @private
     */
    initializeCollection(): void;
    /**
     * @private
     */
    showCommentsPanel(): void;
    /**
     * @private
     */
    addAction(pageNumber: number, index: number, annotation: any, actionString: string, property: string, node?: any, redo?: any): void;
    /**
     * @private
     */
    undo(): void;
    /**
     * @private
     */
    redo(): void;
    private updateCollectionForLineProperty;
    private updateToolbar;
    private createNote;
    /**
     * @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;
    /**
     * @private
     */
    showAnnotationPopup(event: any): void;
    /**
     * @private
     */
    modifyOpacity(args: inputs.ChangeEventArgs): void;
    /**
     * @private
     */
    modifyFontColor(currentColor: string): void;
    /**
     * @private
     */
    modifyFontFamily(currentValue: string): void;
    /**
     * @private
     */
    modifyFontSize(currentValue: number): void;
    /**
     * @private
     */
    modifyTextAlignment(currentValue: string): void;
    /**
     * @private
     */
    modifyTextProperties(fontInfo: PdfFontModel, action: string): void;
    /**
     * @private
     */
    modifyThickness(thicknessValue: number): void;
    /**
     * @private
     */
    modifyStrokeColor(color: string): void;
    /**
     * @private
     */
    modifyFillColor(color: string): void;
    /**
     * @private
     */
    modifyDynamicTextValue(dynamicText: string, annotName: string): void;
    private modifyInCollections;
    /**
     * @private
     */
    createPropertiesWindow(): void;
    private destroyPropertiesWindow;
    private refreshColorPicker;
    private createAppearanceTab;
    private createContent;
    private onStrokeDropDownBeforeOpen;
    private onFillDropDownBeforeOpen;
    private createStyleList;
    private createColorPicker;
    private createDropDownButton;
    private updateColorInIcon;
    private setThickness;
    private createDropDownContent;
    private createListForStyle;
    private onStartArrowHeadStyleSelect;
    private onEndArrowHeadStyleSelect;
    private createInputElement;
    private updateOpacityIndicator;
    private onOkClicked;
    private onCancelClicked;
    private getArrowTypeFromDropDown;
    /**
     * @private
     */
    getArrowString(arrow: drawings.DecoratorShapes): string;
    /**
     * @private
     */
    onAnnotationMouseUp(): void;
    /**
     * @private
     */
    onShapesMouseup(pdfAnnotationBase: PdfAnnotationBaseModel, event: any): void;
    /**
     * @private
     */
    updateCalibrateValues(pdfAnnotationBase: PdfAnnotationBaseModel): void;
    /**
     * @private
     */
    onAnnotationMouseDown(): void;
    private enableBasedOnType;
    private getProperDate;
    /**
     * @private
     */
    getPageCollection(pageAnnotations: IPageAnnotations[], pageNumber: number): number;
    /**
     * @private
     */
    getAnnotationWithId(annotations: any[], id: string): any;
    /**
     * @private
     */
    getEventPageNumber(event: any): number;
    /**
     * @private
     */
    getAnnotationComments(commentsAnnotations: any, parentAnnotation: any, author: string): any;
    private getRandomNumber;
    /**
     * @private
     */
    createGUID(): string;
    /**
     * @private
     */
    createAnnotationLayer(pageDiv: HTMLElement, pageWidth: number, pageHeight: number, pageNumber: number, displayMode: string): HTMLElement;
    /**
     * @private
     */
    resizeAnnotations(width: number, height: number, pageNumber: number): void;
    /**
     * @private
     */
    clearAnnotationCanvas(pageNumber: number): void;
    /**
     * @private
     */
    renderAnnotations(pageNumber: number, shapeAnnotation: any, measureShapeAnnotation: any, textMarkupAnnotation: any, canvas?: any, isImportAnnotations?: boolean): void;
    /**
     * @private
     */
    storeAnnotations(pageNumber: number, annotation: any, annotationId: string): number;
    /**
     * @private
     */
    getArrowType(type: string): drawings.DecoratorShapes;
    /**
     * @private
     */
    getArrowTypeForCollection(arrow: drawings.DecoratorShapes): string;
    /**
     * @private
     */
    getBounds(bound: any, pageIndex: number): any;
    /**
     * @private
     */
    getVertexPoints(points: any[], pageIndex: number): any;
    /**
     * @private
     */
    getStoredAnnotations(pageIndex: number, shapeAnnotations: any[], idString: string): any[];
    /**
     * @private
     */
    triggerAnnotationPropChange(pdfAnnotationBase: PdfAnnotationBaseModel, isColor: boolean, isStroke: boolean, isThickness: boolean, isOpacity: boolean, isLineStart?: boolean, isLineEnd?: boolean, isDashArray?: boolean): void;
    /**
     * @private
     */
    triggerAnnotationResize(pdfAnnotationBase: PdfAnnotationBaseModel): void;
    /**
     * @private
     */
    selectAnnotation(annotationId: any, pageNumber: number, annotation: any): void;
    editAnnotation(annotation: any): void;
    /**
     * @private
     */
    updateFreeTextProperties(annotation: any): void;
    /**
     * @private
     */
    addFreeTextProperties(annotation: any, currentAnnotation: any): void;
    updateMeasurementSettings(): void;
    private updateCollection;
    private modifyAnnotationProperties;
    /**
     * @private
     */
    updateAnnotationAuthor(annotationType: string, annotationSubType?: string): string;
    /**
     * @private
     */
    clear(): void;
    /**
     * @private
     */
    cloneObject(obj: any): any;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    getModuleName(): string;
}
//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;
}
/**
 * @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
     */
    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;
    constructor(pdfviewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @private
     */
    renderFreeTextAnnotations(shapeAnnotations: any, pageNumber: number): void;
    /**
     * @private
     */
    setAnnotationType(type: AnnotationType): void;
    /**
     * @private
     */
    modifyInCollection(property: string, pageNumber: number, annotationBase: any): IFreeTextAnnotation;
    /**
     * @private
     */
    addInCollection(pageNumber: number, annotationBase: IFreeTextAnnotation): void;
    /**
     * @private
     */
    saveFreeTextAnnotations(): string;
    private manageAnnotations;
    private getAnnotations;
    private getRgbCode;
    /**
     * @private
     */
    onFocusOutInputBox(): void;
    /**
     * @private
     */
    onKeyDownInputBox(event: KeyboardEvent): void;
    /**
     * @private
     */
    onMouseUpInputBox(event: MouseEvent): void;
    /**
     * @private
     */
    addInuptElemet(currentPosition: drawings.PointModel, annotation?: PdfAnnotationBaseModel): void;
    /**
     * @private
     */
    copySelectedText(): void;
    /**
     * @private
     */
    pasteSelectedText(target: any): void;
    /**
     * @private
     */
    cutSelectedText(target: any): void;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/annotation/index.d.ts
/**
 * export types
 */
//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);
    /**
     * @private
     */
    editLabel(currentPosition: drawings.PointModel, annotation: PdfAnnotationBaseModel): void;
    /**
     * @private
     */
    onFocusOutInputBox(): void;
    /**
     * @private
     */
    calculateLabelBounds(bounds: any): any;
    /**
     * @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
     */
    constructor(pdfViewer: PdfViewer, viewerBase: PdfViewerBase);
    /**
     * @private
     */
    renderHyperlinkContent(data: any, pageIndex: number): void;
    private renderWebLink;
    private triggerHyperlinkEvent;
    private renderDocumentLink;
    private setHyperlinkProperties;
    /**
     * @private
     */
    modifyZindexForTextSelection(pageNumber: number, isAdd: boolean): void;
    /**
     * @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;
}
/**
 * @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
     */
    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 ratio;
    private volumeDepth;
    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;
    /**
     * @private
     */
    renderMeasureShapeAnnotations(shapeAnnotations: any, pageNumber: number, isImportAction?: boolean): void;
    /**
     * @private
     */
    setAnnotationType(type: AnnotationType): void;
    private createAnnotationObject;
    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;
    /**
     * @private
     */
    updateMeasureValues(ratio: string, displayUnit: CalibrationUnit, conversionUnit: CalibrationUnit, depth: number): void;
    private getAnnotationBaseModel;
    private getContent;
    /**
     * @private
     */
    setConversion(value: number, currentAnnot: any): string;
    private onCancelClicked;
    /**
     * @private
     */
    modifyInCollection(property: string, pageNumber: number, annotationBase: any): IMeasureShapeAnnotation;
    /**
     * @private
     */
    addInCollection(pageNumber: number, annotationBase: IMeasureShapeAnnotation): void;
    private manageAnnotations;
    private getAnnotations;
    private getCurrentObject;
    private getCurrentValues;
    private getCurrentRatio;
    /**
     * @private
     */
    calculateArea(points: drawings.PointModel[], id?: string, pageNumber?: number): string;
    private getArea;
    /**
     * @private
     */
    calculateVolume(points: drawings.PointModel[], id?: string, pageNumber?: number): string;
    /**
     * @private
     */
    calculatePerimeter(pdfAnnotationBase: PdfAnnotationBaseModel): string;
    private getFactor;
    private convertPointToUnits;
    private convertUnitToPoint;
    private getStringifiedMeasure;
    private getRgbCode;
    /**
     * @private
     */
    saveImportedMeasureAnnotations(annotation: any, pageNumber: number): any;
}
//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;
    enableShapeLabel: boolean;
    labelContent: string;
    labelFillColor: string;
    labelBorderColor: string;
    fontColor: string;
    fontSize: number;
    labelBounds: IRectangle;
}
/**
 * @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;
    constructor(pdfviewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @private
     */
    renderShapeAnnotations(shapeAnnotations: any, pageNumber: number, isImportAcion?: boolean): void;
    /**
     * @private
     */
    setAnnotationType(type: AnnotationType): void;
    private setShapeType;
    private getShapeType;
    private getShapeAnnotType;
    /**
     * @private
     */
    modifyInCollection(property: string, pageNumber: number, annotationBase: any): IShapeAnnotation;
    /**
     * @private
     */
    addInCollection(pageNumber: number, annotationBase: IShapeAnnotation): void;
    /**
     * @private
     */
    saveShapeAnnotations(): string;
    private manageAnnotations;
    private createAnnotationObject;
    private getAnnotations;
    private getRgbCode;
    /**
     * @private
     */
    saveImportedShapeAnnotations(annotation: any, pageNumber: number): any;
}
//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;
}
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 dynamicText;
    constructor(pdfviewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @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): 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
     */
    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): void;
    private retrieveRotationAngle;
    /**
     * @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;
}
//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;
}
/**
 * @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;
}
/**
 * @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
     */
    isEditableElement: boolean;
    /**
     * @private
     */
    accordionContainer: HTMLElement;
    /**
     * @private
     */
    mainContainer: HTMLElement;
    private isPageCommentsRendered;
    private isCommentsRendered;
    /**
     * @private
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @private
     */
    renderStickyNotesAnnotations(stickyAnnotations: any, pageNumber: number, canvas?: any): void;
    /**
     * @private
     */
    drawStickyNotes(X: number, Y: number, width: number, height: number, pageIndex: number, annotation: any, canvas?: any): any;
    private setImageSource;
    /**
     * @private
     */
    createRequestForComments(): void;
    /**
     * @private
     */
    renderAnnotationComments(data: any, pageIndex: number): void;
    /**
     * @private
     */
    initializeAcccordionContainer(): void;
    /**
     * @private
     */
    createPageAccordion(pageIndex: number): any;
    private alignAccordionContainer;
    /**
     * @private
     */
    updateCommentPanelScrollTop(pageNumber: number): void;
    /**
     * @private
     */
    createCommentControlPanel(data: any, pageIndex: number, type?: string, annotationSubType?: string): string;
    private commentDivFocus;
    private updateScrollPosition;
    private updateCommentsScrollTop;
    private createCommentDiv;
    private saveCommentDiv;
    private renderComments;
    /**
     * @private
     */
    createCommentsContainer(data: any, pageIndex: number, isCopy?: boolean): string;
    private modifyProperty;
    private createTitleContainer;
    private createReplyDivTitleContainer;
    private updateCommentIcon;
    private updateStatusContainer;
    /**
     * @private
     */
    updateAccordionContainer(removeDiv: HTMLElement): void;
    /**
     * @private
     */
    createCommentContextMenu(): void;
    private commentMenuItemSelect;
    private moreOptionsClick;
    private openTextEditor;
    private openEditorElement;
    private commentsDivClickEvent;
    private commentsDivDoubleClickEvent;
    private commentDivOnSelect;
    private commentDivMouseOver;
    private commentDivMouseLeave;
    /**
     * @private
     */
    drawIcons(event: any): void;
    /**
     * @private
     */
    addComments(annotationType: string, pageNumber: number, annotationSubType?: string): string;
    private commentsAnnotationSelect;
    private updateCommentsContainerWidth;
    /**
     * @private
     */
    selectCommentsAnnotation(pageIndex: number): void;
    private setAnnotationType;
    private modifyTextProperty;
    private modifyCommentsProperty;
    private modifyStatusProperty;
    private modifyCommentDeleteProperty;
    /**
     * @private
     */
    updateOpacityValue(annotation: any): void;
    /**
     * @private
     */
    undoAction(annotation: any, isAction: string, undoAnnotation?: any): any;
    /**
     * @private
     */
    redoAction(annotation: any, isAction: string, undoAnnotation?: any): any;
    private updateUndoRedoCollections;
    /**
     * @private
     */
    addAnnotationComments(pageIndex: any, type: string): void;
    /**
     * @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;
    /**
     * @private
     */
    addTextToComments(annotName: string, text: string): void;
    /**
     * @private
     */
    updateAnnotationCollection(newAnnotation: any, annotation: any): void;
    private findAnnotationType;
    private setExistingAnnotationModifiedDate;
    private setModifiedDate;
    private updateModifiedDate;
    /**
     * @private
     */
    updateAnnotationModifiedDate(annotation: any, isBounds?: boolean, isUndoRedoAction?: boolean): void;
    /**
     * @private
     */
    saveImportedStickyNotesAnnotations(annotation: any, pageNumber: number): any;
    /**
     * @private
     */
    clear(): void;
    /**
     * @private
     */
    getModuleName(): string;
}
//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;
}
/**
 * @hidden
 */
export interface IPageAnnotationBounds {
    pageIndex: number;
    bounds: IRectangle[];
    rect: any;
}
/**
 * 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
     */
    strikethroughOpacity: number;
    /**
     * @private
     */
    selectTextMarkupCurrentPage: number;
    /**
     * @private
     */
    currentTextMarkupAnnotation: ITextMarkupAnnotation;
    private currentAnnotationIndex;
    private isAnnotationSelect;
    /**
     * @private
     */
    constructor(pdfViewer: PdfViewer, viewerBase: PdfViewerBase);
    /**
     * @private
     */
    renderTextMarkupAnnotationsInPage(textMarkupAnnotations: any, pageNumber: number, isImportTextMarkup?: boolean): void;
    private renderTextMarkupAnnotations;
    /**
     * @private
     */
    drawTextMarkupAnnotations(type: string): void;
    private convertSelectionToTextMarkup;
    private drawTextMarkups;
    private renderHighlightAnnotation;
    private renderStrikeoutAnnotation;
    private renderUnderlineAnnotation;
    private getProperBounds;
    private drawLine;
    /**
     * @private
     */
    printTextMarkupAnnotations(textMarkupAnnotations: any, pageIndex: number, stampData: any, shapeData: any, measureShapeData: any, stickyData: any): string;
    /**
     * @private
     */
    saveTextMarkupAnnotations(): string;
    /**
     * @private
     */
    deleteTextMarkupAnnotation(): void;
    /**
     * @private
     */
    modifyColorProperty(color: string): void;
    /**
     * @private
     */
    modifyOpacityProperty(args: inputs.ChangeEventArgs, isOpacity?: number): void;
    private modifyAnnotationProperty;
    /**
     * @private
     */
    undoTextMarkupAction(annotation: ITextMarkupAnnotation, pageNumber: number, index: number, action: string): void;
    /**
     * @private
     */
    undoRedoPropertyChange(annotation: ITextMarkupAnnotation, pageNumber: number, index: number, property: string, isUndoAction?: boolean): ITextMarkupAnnotation;
    /**
     * @private
     */
    redoTextMarkupAction(annotation: ITextMarkupAnnotation, pageNumber: number, index: number, action: string): void;
    /**
     * @private
     */
    saveNoteContent(pageNumber: number, note: string): void;
    private clearCurrentAnnotation;
    /**
     * @private
     */
    clearCurrentAnnotationSelection(pageNumber: number, isSelect?: boolean): void;
    private getBoundsForSave;
    private getRgbCode;
    private getDrawnBounds;
    /**
     * @private
     */
    rerenderAnnotationsPinch(pageNumber: number): void;
    /**
     * @private
     */
    rerenderAnnotations(pageNumber: number): void;
    /**
     * @private
     */
    onTextMarkupAnnotationMouseUp(event: MouseEvent): void;
    /**
     * @private
     */
    onTextMarkupAnnotationTouchEnd(event: TouchEvent): void;
    /**
     * @private
     */
    onTextMarkupAnnotationMouseMove(event: MouseEvent): void;
    private showPopupNote;
    private getCurrentMarkupAnnotation;
    private compareCurrentAnnotations;
    /**
     * @private
     */
    clearAnnotationSelection(pageNumber: number): void;
    /**
     * @private
     */
    selectAnnotation(annotation: ITextMarkupAnnotation, canvas: HTMLElement, pageNumber?: number): void;
    private drawAnnotationSelectRect;
    /**
     * @private
     */
    enableAnnotationPropertiesTool(isEnable: boolean): void;
    /**
     * @private
     */
    maintainAnnotationSelection(): void;
    private manageAnnotations;
    private getAnnotations;
    private getAddedAnnotation;
    private annotationDivSelect;
    private getPageContext;
    private getDefaultValue;
    private getMagnifiedValue;
    /**
     * @private
     */
    saveImportedTextMarkupAnnotations(annotation: any, pageNumber: number): any;
    /**
     * @private
     */
    clear(): void;
}
//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;
    /**
     * Constructor for Ajax class
     * @param  {PdfViewer} pdfviewer
     * @returns defaultType
     * @private
     */
    constructor(pdfviewer: PdfViewer);
    /**
     * Send the request to server
     * @param  {object} jsonObj - To send to service
     * @private
     */
    send(jsonObj: object): 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
     * @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/context-menu.d.ts
/**
 * ContextMenu module is used to handle the context menus used in the control.
 * @hidden
 */
export  class ContextMenu {
    /**
     * @private
     */
    contextMenuObj: navigations.ContextMenu;
    /**
     * @private
     */
    contextMenuElement: HTMLElement;
    private pdfViewer;
    private pdfViewerBase;
    private copyContextMenu;
    private currentTarget;
    /**
     * @private
     */
    previousAction: string;
    /**
     * @private
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @private
     */
    createContextMenu(): void;
    private contextMenuOnCreated;
    private contextMenuOnBeforeOpen;
    private onOpeningForShape;
    private isClickWithinSelectionBounds;
    private getHorizontalClientValue;
    private getVerticalClientValue;
    private getHorizontalValue;
    private getVerticalValue;
    private onMenuItemSelect;
    /**
     * @private
     */
    destroy(): 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;
}
/**
 * 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 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;
}
/**
 * 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 {
    /**
     * Defines the current clicked hyperlink
     */
    hyperlink: string;
    /**
     * Defines the current hyperlink element.
     */
    hyperlinkElement: HTMLAnchorElement;
}
/**
 * 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: number;
    /**
     * 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;
}
/**
 * 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: number;
    /**
     * 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;
}
/**
 * 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: number;
    /**
     * 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;
}
/**
 * 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: number;
    /**
     * 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;
}
/**
 * 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;
}
/**
 * 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;
}
//node_modules/@syncfusion/ej2-pdfviewer/src/pdfviewer/base/index.d.ts
/**
 * export types
 */
//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 sideBarTitle;
    private contentContainerScrollWidth;
    private closeButtonLeft;
    private previousX;
    private toolbarElement;
    private toolbar;
    private searchInput;
    private toastObject;
    private isTooltipCreated;
    private isThumbnail;
    private annotationInputElement;
    private annotationContextMenu;
    /**
     * @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
     */
    constructor(viewer: PdfViewer, base: PdfViewerBase);
    /**
     * @private
     */
    initializeNavigationPane(): void;
    private createNavigationPane;
    /**
     * @private
     */
    adjustPane(): void;
    private createCommentPanel;
    private createCommentPanelTitleContainer;
    private openAnnotationContextMenu;
    /**
     * @private
     */
    createAnnotationContextMenu(): void;
    private annotationMenuItemSelect;
    private createFileElement;
    private loadImportAnnotation;
    /**
     * @private
     */
    closeCommentPanelContainer(): void;
    /**
     * @private
     */
    createNavigationPaneMobile(option: string): void;
    private initiateSearchBox;
    private enableSearchItems;
    private initiateBookmarks;
    private initiateTextSearch;
    /**
     * @private
     */
    goBackToToolbar(): void;
    private setSearchInputWidth;
    private getParentElementSearchBox;
    /**
     * @private
     */
    createTooltipMobile(text: string): void;
    private onTooltipClose;
    /**
     * @private
     */
    toolbarResize(): void;
    private createSidebarToolBar;
    private onTooltipBeforeOpen;
    /**
     * @private
     */
    enableThumbnailButton(): void;
    /**
     * @private
     */
    enableBookmarkButton(): void;
    private createSidebarTitleCloseButton;
    private createResizeIcon;
    /**
     * @private
     */
    setResizeIconTop(): void;
    private resizeIconMouseOver;
    private resizePanelMouseDown;
    private resizeViewerMouseLeave;
    /**
     * @private
     */
    readonly outerContainerWidth: number;
    /**
     *  @private
     */
    getViewerContainerScrollbarWidth(): number;
    /**
     *  @private
     */
    readonly sideToolbarWidth: number;
    /**
     * @private
     */
    readonly sideBarContentContainerWidth: number;
    /**
     *  @private
     */
    readonly commentPanelContainerWidth: number;
    private resizePanelMouseMove;
    private sideToolbarOnClose;
    /**
     * @private
     */
    updateViewerContainerOnClose(): void;
    private updateViewerContainerOnExpand;
    /**
     * @private
     */
    getViewerContainerLeft(): number;
    /**
     * @private
     */
    getViewerContainerRight(): number;
    /**
     * @private
     */
    getViewerMainContainerWidth(): number;
    private sideToolbarOnClick;
    /**
     * @private
     */
    openThumbnailPane: () => void;
    private setThumbnailSelectionIconTheme;
    private removeThumbnailSelectionIconTheme;
    private resetThumbnailIcon;
    /**
     * @private
     */
    resetThumbnailView(): void;
    private bookmarkButtonOnClick;
    private setBookmarkSelectionIconTheme;
    private removeBookmarkSelectionIconTheme;
    private sideToolbarOnMouseup;
    private sideBarTitleOnMouseup;
    /**
     * @private
     */
    disableBookmarkButton(): void;
    /**
     * @private
     */
    clear(): void;
    /**
     * @private
     */
    destroy(): void;
    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;
}
/**
 * @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: ContextMenu;
    /**
     * @private
     */
    pageSize: ISize[];
    /**
     * @private
     */
    pageCount: number;
    /**
     * @private
     */
    currentPageNumber: number;
    /**
     * @private
     */
    activeElements: ActiveElements;
    /**
     * @private
     */
    textLayer: TextLayer;
    private pdfViewer;
    private unload;
    /**
     * @private
     */
    isDocumentLoaded: boolean;
    /**
     * @private
     */
    isDocumentEdited: boolean;
    /**
     * @private
     */
    documentId: string;
    /**
     * @private
     */
    jsonDocumentId: string;
    /**
     * @private
     */
    renderedPagesList: number[];
    /**
     * @private
     */
    pageGap: number;
    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 scrollHoldTimer;
    private isFileName;
    private pointerCount;
    private pointersForTouch;
    private corruptPopup;
    private passwordPopup;
    private goToPagePopup;
    private isPasswordAvailable;
    private document;
    /**
     * @private
     */
    reRenderedCount: number;
    private passwordInput;
    private promptElement;
    /**
     * @private
     */
    navigationPane: NavigationPane;
    private mouseX;
    private mouseY;
    /**
     * @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 annotationPageList;
    /**
     * @private
     */
    /**
     * @private
     */
    isImportAction: boolean;
    private isImportedAnnotation;
    /**
     * @private
     */
    tool: ToolBase;
    action: string;
    /**
     * @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;
    /**
     * @private
     */
    customStampCollection: ICustomStampItems[];
    /**
     * @private
     */
    isAlreadyAdded: boolean;
    /**
     * @private
     */
    isWebkitMobile: boolean;
    /**
     * @private
     */
    isFreeTextContextMenu: boolean;
    constructor(viewer: PdfViewer);
    /**
     * @private
     */
    initializeComponent(): void;
    private createMobilePageNumberContainer;
    /**
     * @private
     */
    initiatePageRender(documentData: string, password: string): void;
    private mobileScrollContainerDown;
    private setMaximumHeight;
    /**
     * @private
     */
    updateWidth(): void;
    /**
     * @private
     */
    updateHeight(): void;
    /**
     * @private
     */
    updateViewerContainer(): void;
    private updateViewerContainerSize;
    private mobileScrollContainerEnd;
    private createAjaxRequest;
    /**
     * @private
     */
    openNotificationPopup(): void;
    private requestSuccess;
    private pageRender;
    private renderPasswordPopup;
    private renderCorruptPopup;
    private constructJsonObject;
    private checkDocumentData;
    private setFileName;
    private saveDocumentInfo;
    private saveDocumentHashData;
    private saveFormfieldsData;
    private updateWaitingPopup;
    private createWaitingPopup;
    private showLoadingIndicator;
    private showPageLoadingIndicator;
    /**
     * @private
     */
    showPrintLoadingIndicator(isShow: boolean): void;
    private setLoaderProperties;
    /**
     * @private
     */
    updateScrollTop(pageNumber: number): void;
    /**
     * @private
     */
    getZoomFactor(): number;
    /**
     * @private
     */
    getPinchZoomed(): boolean;
    /**
     * @private
     */
    getMagnified(): boolean;
    private getPinchScrolled;
    private getPagesPinchZoomed;
    private getPagesZoomed;
    private getRerenderCanvasCreated;
    /**
     * @private
     */
    getDocumentId(): string;
    /**
     * @private
     */
    download(): void;
    /**
     * @private
     */
    saveAsBlob(): Promise<Blob>;
    private saveAsBlobRequest;
    /**
     * @private
     */
    clear(isTriggerEvent: boolean): void;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    unloadDocument(proxy: PdfViewerBase): void;
    /**
     * @private
     */
    private windowSessionStorageClear;
    private updateCommentPanel;
    /**
     * @private
     */
    focusViewerContainer(): void;
    private getScrollParent;
    private createCorruptedPopup;
    private closeCorruptPopup;
    private createPrintPopup;
    private createGoToPagePopup;
    private closeGoToPagePopUp;
    private EnableApplyButton;
    private DisableApplyButton;
    private GoToPageCancelClick;
    private GoToPageApplyClick;
    /**
     * @private
     */
    updateMobileScrollerPosition(): void;
    private createPasswordPopup;
    private passwordCancel;
    private passwordCancelClick;
    private passwordDialogReset;
    private applyPassword;
    private wireEvents;
    private unWireEvents;
    /**
     * @private
     */
    onWindowResize: () => void;
    /**
     * @private
     */
    updateZoomValue(): void;
    /**
     * @private
     */
    updateFreeTextProperties(annotation: any): void;
    private viewerContainerOnMousedown;
    private viewerContainerOnMouseup;
    private viewerContainerOnMouseWheel;
    private viewerContainerOnKeyDown;
    private viewerContainerOnMousemove;
    private panOnMouseMove;
    /**
     * @private
     */
    initiatePanning(): void;
    /**
     * @private
     */
    initiateTextSelectMode(): void;
    private enableAnnotationAddTools;
    private viewerContainerOnMouseLeave;
    private viewerContainerOnMouseEnter;
    private viewerContainerOnMouseOver;
    private viewerContainerOnClick;
    private applySelection;
    private viewerContainerOnDragStart;
    private viewerContainerOnContextMenuClick;
    private onWindowMouseUp;
    private onWindowTouchEnd;
    private viewerContainerOnTouchStart;
    private handleTaps;
    private handleTextBoxTaps;
    private onTextBoxDoubleTap;
    private onSingleTap;
    private onDoubleTap;
    private viewerContainerOnLongTouch;
    private viewerContainerOnPointerDown;
    private preventTouchEvent;
    private viewerContainerOnTouchMove;
    private viewerContainerOnPointerMove;
    private viewerContainerOnTouchEnd;
    private renderStampAnnotation;
    private viewerContainerOnPointerEnd;
    private initPageDiv;
    private renderElementsVirtualScroll;
    private renderPageElement;
    private renderPagesVirtually;
    private initiateRenderPagesVirtually;
    private tileRenderPage;
    private renderPage;
    private onPageRender;
    private renderTextContent;
    private renderPageContainer;
    private orderPageDivElements;
    /**
     * @private
     */
    renderPageCanvas(pageDiv: HTMLElement, pageWidth: number, pageHeight: number, pageNumber: number, displayMode: string): HTMLElement;
    /**
     * @private
     */
    updateLeftPosition(pageIndex: number): number;
    /**
     * @private
     */
    applyLeftPosition(pageIndex: number): void;
    private updatePageHeight;
    private viewerContainerOnScroll;
    private initiatePageViewScrollChanged;
    private renderCountIncrement;
    /**
     * @private
     */
    pageViewScrollChanged(currentPageNumber: number): void;
    private downloadDocument;
    private downloadExportAnnotationJson;
    private constructJsonDownload;
    /**
     * @private
     */
    isFreeTextAnnotationModule(): boolean;
    private createRequestForDownload;
    /**
     * @private
     */
    getTileCount(pageWidth: any): number;
    private createRequestForRender;
    /**
     * @private
     */
    onControlError(status: number, errorMessage: string, action: string): void;
    /**
     * @private
     */
    getStoredData(pageIndex: number): any;
    /**
     * @private
     */
    storeWinData(data: any, pageIndex: number, tileX?: number, tileY?: number): void;
    /**
     * @private
     */
    setCustomAjaxHeaders(request: XMLHttpRequest): void;
    private getPinchZoomPage;
    private getWindowSessionStorage;
    private getWindowSessionStorageTile;
    private manageSessionStorage;
    private createBlobUrl;
    private getRandomNumber;
    private createGUID;
    /**
     * @private
     */
    isClickedOnScrollBar(event: MouseEvent, isNeedToSet?: boolean): boolean;
    private setScrollDownValue;
    /**
     * @private
     */
    disableTextSelectionMode(): void;
    /**
     * @private
     */
    getElement(idString: string): HTMLElement;
    /**
     * @private
     */
    getPageWidth(pageIndex: number): number;
    /**
     * @private
     */
    getPageHeight(pageIndex: number): number;
    /**
     * @private
     */
    getPageTop(pageIndex: number): number;
    private isAnnotationToolbarHidden;
    /**
     * @private
     */
    getTextMarkupAnnotationMode(): boolean;
    private getCurrentTextMarkupAnnotation;
    /**
     * @private
     */
    getSelectTextMarkupCurrentPage(): number;
    /**
     * @private
     */
    getAnnotationToolStatus(): boolean;
    /**
     * @private
     */
    getPopupNoteVisibleStatus(): boolean;
    /**
     * @private
     */
    isTextMarkupAnnotationModule(): TextMarkupAnnotation;
    /**
     * @private
     */
    isShapeAnnotationModule(): boolean;
    /**
     * @private
     */
    isCalibrateAnnotationModule(): boolean;
    /**
     * @private
     */
    isStampAnnotationModule(): boolean;
    /**
     * @private
     */
    isCommentAnnotationModule(): boolean;
    /**
     * @private
     */
    isShapeBasedAnnotationsEnabled(): boolean;
    /** @private */
    getMousePosition(e: MouseEvent | PointerEvent | TouchEvent): drawings.PointModel;
    private getMouseEventArgs;
    /**
     * @private
     */
    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 */
    diagramMouseMove(evt: MouseEvent | TouchEvent): void;
    private updateDefaultCursor;
    /** @private */
    diagramMouseLeave(evt: MouseEvent | TouchEvent): void;
    private diagramMouseActionHelper;
    private setCursor;
    /** @private */
    getTool(action: Actions | string): ToolBase;
    /** @private */
    diagramMouseUp(evt: MouseEvent | TouchEvent): void;
    /**
     * @private
     */
    skipPreventDefault(target: HTMLElement): boolean;
    private isMetaKey;
    /**
     * @private
     */
    diagramMouseDown(evt: MouseEvent | TouchEvent): void;
    /**
     * @private
     */
    exportAnnotationsAsObject(): any;
    /**
     * @private
     */
    /**
     * @private
     */
    exportAnnotations(): void;
    private createRequestForExportAnnotations;
    private createRequestForImportAnnotations;
    private reRenderAnnotations;
    private drawPageAnnotations;
    private saveImportedAnnotations;
    private savePageAnnotations;
    /**
     * @private
     */
    createAnnotationJsonData(): any;
    private combineImportedData;
    private updateExportItem;
    private isFreeTextAnnotation;
}
//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;
    private textBoundsArray;
    /**
     * @private
     */
    characterBound: any[];
    /**
     * @private
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @private
     */
    addTextLayer(pageNumber: number, pageWidth: number, pageHeight: number, pageDiv: HTMLElement): HTMLElement;
    /**
     * @private
     */
    renderTextContents(pageNumber: number, textContents: any, textBounds: any, rotation: any): void;
    /**
     * @private
     */
    resizeTextContents(pageNumber: number, textContents: any, textBounds: any, rotation: any): void;
    private applyTextRotation;
    private setTextElementProperties;
    /**
     * @private
     */
    resizeTextContentsOnZoom(pageNumber: number): void;
    private resizeExcessDiv;
    /**
     * @private
     */
    clearTextLayers(): void;
    private removeElement;
    /**
     * @private
     */
    convertToSpan(pageNumber: number, divId: number, fromOffset: number, toOffset: number, textString: string, className: string): void;
    /**
     * @private
     */
    applySpanForSelection(startPage: number, endPage: number, anchorOffsetDiv: number, focusOffsetDiv: number, anchorOffset: number, focusOffset: number): void;
    /**
     * @private
     */
    clearDivSelection(): void;
    private setStyleToTextDiv;
    private getTextSelectionStatus;
    /**
     * @private
     */
    modifyTextCursor(isAdd: boolean): void;
    /**
     * @private
     */
    isBackWardSelection(selection: Selection): boolean;
    /**
     * @private
     */
    getPageIndex(element: Node): number;
    /**
     * @private
     */
    getTextIndex(element: Node, pageIndex: number): number;
    private getPreviousZoomFactor;
    /**
     * @private
     */
    getTextSearchStatus(): boolean;
    /**
     * @private
     */
    createNotificationPopup(text: string): 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' | 'CommentTool';
/**
 * Enum AnnotationToolbarItem for annotation toolbar settings
 */
export  type AnnotationToolbarItem = 'HighlightTool' | 'UnderlineTool' | 'StrikethroughTool' | 'ShapeTool' | 'CalibrateTool' | 'ColorEditTool' | 'StrokeColorEditTool' | 'ThicknessEditTool' | 'OpacityEditTool' | 'AnnotationDeleteTool' | 'StampAnnotationTool' | 'FreeTextAnnotationTool' | 'FontFamilyAnnotationTool' | 'FontSizeAnnotationTool' | 'FontStylesAnnotationTool' | 'FontAlignAnnotationTool' | 'FontColorAnnotationTool';
/**
 * Enum LinkTarget for hyperlink navigation
 */
export  type LinkTarget = 'CurrentTab' | 'NewTab' | 'NewWindow';
/**
 * Enum InteractionMode for interaction mode
 */
export  type InteractionMode = 'TextSelection' | 'Pan';
/**
 * Enum AnnotationType for specifying Annotations
 */
export  type AnnotationType = 'None' | 'Highlight' | 'Underline' | 'Strikethrough' | 'Line' | 'Arrow' | 'Rectangle' | 'Circle' | 'Polygon' | 'Distance' | 'Perimeter' | 'Area' | 'Radius' | 'Volume' | 'FreeText';
/**
 * Enum LineHeadStyle for line and arrow annotation
 */
export  type LineHeadStyle = 'None' | 'Closed' | 'Open' | 'Square' | 'Round' | 'Diamond';
/**
 * Enum unit for calibration annotation
 */
export  type CalibrationUnit = 'pt' | 'in' | 'mm' | 'cm' | 'p' | 'ft';
/**
 * Enum unit for ContextMenu Actions
 */
export  type ContextMenuAction = 'None' | 'MouseUp' | 'RightClick';
//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;
    bookmarksDestination: any;
    /**
     * @private
     */
    childNavigateCount: number;
    /**
     * @private
     */
    bookmarkList: lists.ListView;
    /**
     * @private
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @private
     */
    createRequestForBookmarks(): void;
    /**
     * @private
     */
    renderBookmarkcontent(): void;
    /**
     * @private
     */
    renderBookmarkContentMobile(): void;
    private bookmarkClick;
    private nodeClick;
    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/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 signatureDialog;
    private mouseDetection;
    private oldX;
    private mouseX;
    private oldY;
    private mouseY;
    private newObject;
    private outputString;
    private currentTarget;
    private isSignatureField;
    /**
     * @private
     */
    constructor(viewer: PdfViewer, base: PdfViewerBase);
    /**
     * @private
     */
    renderFormFields(pageIndex: number): void;
    /**
     * @private
     */
    downloadFormFieldsData(): any;
    private focusFormFields;
    private blurFormFields;
    private updateFormFields;
    private updateFormFieldsValue;
    private changeFormFields;
    /**
     * @private
     */
    updateDataInSession(target: any, signaturePath?: any): void;
    private applyCommonProperties;
    /**
     * @private
     */
    createFormFields(currentData: any, pageIndex: number, index?: number, printContainer?: any): void;
    private createTextBoxField;
    private checkIsReadonly;
    private applyTabIndex;
    private checkIsRequiredField;
    private applyDefaultColor;
    private addAlignmentPropety;
    private createRadioBoxField;
    private createDropDownField;
    private createListBoxField;
    private createSignatureField;
    private addSignaturePath;
    private applyPosition;
    /**
     * @private
     */
    setStyleToTextDiv(textDiv: HTMLElement, left: number, top: number, fontHeight: number, width: number, height: number, isPrint: boolean): void;
    /**
     * @private
     */
    createSignaturePanel(): void;
    private renderExistingAnnnot;
    private addSignature;
    private createSignatureCanvas;
    private signaturePanelMouseDown;
    private enableCreateButton;
    private signaturePanelMouseMove;
    private findMousePosition;
    private drawMousePosition;
    private drawSignatureInCanvas;
    private signaturePanelMouseUp;
    private convertToPath;
    private linePath;
    private movePath;
    private clearSignatureCanvas;
    private closeSignaturePanel;
    /**
     * @private
     */
    ConvertPointToPixel(number: any): any;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    getModuleName(): string;
}
//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 isWebkitMobile;
    /**
     * @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.
     */
    private calculateFitZoomFactor;
    /**
     * Performs pinch in operation
     */
    private pinchIn;
    /**
     * Performs pinch out operation
     */
    private pinchOut;
    /**
     * returns zoom level for the zoom factor.
     */
    private getZoomLevel;
    /**
     * @private
     */
    checkZoomFactor(): boolean;
    /**
     * Executes when the zoom or pinch operation is performed
     */
    private onZoomChanged;
    /**
     * @private
     */
    setTouchPoints(clientX: number, clientY: number): void;
    /**
     * @private
     */
    initiatePinchMove(pointX1: number, pointY1: number, pointX2: number, pointY2: number): void;
    private magnifyPages;
    private updatePageLocation;
    private clearRerenderTimer;
    /**
     * @private
     */
    clearIntervalTimer(): void;
    /**
     * @private
     */
    pushImageObjects(image: HTMLImageElement): void;
    private clearRendering;
    private rerenderMagnifiedPages;
    private renderInSeparateThread;
    private responsivePages;
    private calculateScrollValues;
    private rerenderOnScroll;
    /**
     * @private
     */
    pinchMoveScroll(): void;
    private initiateRerender;
    private reRenderAfterPinch;
    private designNewCanvas;
    /**
     * @private
     */
    pageRerenderOnMouseWheel(): void;
    /**
     * @private
     */
    renderCountIncrement(): void;
    /**
     * @private
     */
    rerenderCountIncrement(): void;
    private resizeCanvas;
    private zoomOverPages;
    /**
     * @private
     */
    pinchMoveEnd(): void;
    /**
     * @private
     */
    fitPageScrollMouseWheel(event: WheelEvent): void;
    /**
     * @private
     */
    magnifyBehaviorKeyDown(event: KeyboardEvent): void;
    private upwardScrollFitPage;
    /**
     * @private
     */
    updatePagesForFitPage(currentPageIndex: number): void;
    /**
     * @private
     */
    onDoubleTapMagnification(): void;
    private downwardScrollFitPage;
    private getMagnifiedValue;
    /**
     * @private
     */
    destroy(): void;
    /**
     * returns zoom factor when the zoom percent is passed.
     */
    private getZoomFactor;
    /**
     * @private
     */
    getModuleName(): string;
}
//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;
    /**
     * @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[];
}
/**
 * Interface for a class AjaxRequestSettings
 */
export interface AjaxRequestSettingsModel {
    /**
     * set the ajax Header values in the PdfViewer.
     */
    ajaxHeaders?: IAjaxHeaders[];
}
/**
 * Interface for a class CustomStampItem
 */
export interface CustomStampItemModel {
    /**
     * specifies the stamp Name of the PdfViewer.
     */
    customStampName?: string;
    /**
     * specifies the stamp ImageSource of the PdfViewer.
     */
    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 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;
}
/**
 * Interface for a class StrikethroughSettings
 */
export interface StrikethroughSettingsModel {
    /**
     * 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 subject of the annotation.
     */
    subject?: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate?: string;
}
/**
 * Interface for a class UnderlineSettings
 */
export interface UnderlineSettingsModel {
    /**
     * 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 subject of the annotation.
     */
    subject?: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate?: string;
}
/**
 * Interface for a class HighlightSettings
 */
export interface HighlightSettingsModel {
    /**
     * 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 subject of the annotation.
     */
    subject?: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate?: string;
}
/**
 * Interface for a class LineSettings
 */
export interface LineSettingsModel {
    /**
     * 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;
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate?: 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;
}
/**
 * Interface for a class ArrowSettings
 */
export interface ArrowSettingsModel {
    /**
     * 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;
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate?: 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;
}
/**
 * Interface for a class RectangleSettings
 */
export interface RectangleSettingsModel {
    /**
     * 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;
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate?: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness?: number;
}
/**
 * Interface for a class CircleSettings
 */
export interface CircleSettingsModel {
    /**
     * 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;
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate?: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness?: number;
}
/**
 * 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;
}
/**
 * Interface for a class PolygonSettings
 */
export interface PolygonSettingsModel {
    /**
     * 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;
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate?: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness?: number;
}
/**
 * Interface for a class StampSettings
 */
export interface StampSettingsModel {
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate?: string;
}
/**
 * Interface for a class CustomStampSettings
 */
export interface CustomStampSettingsModel {
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate?: 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.
     */
    isAddToSubMenu?: boolean;
}
/**
 * Interface for a class DistanceSettings
 */
export interface DistanceSettingsModel {
    /**
     * 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;
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate?: 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;
}
/**
 * Interface for a class PerimeterSettings
 */
export interface PerimeterSettingsModel {
    /**
     * 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;
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate?: 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;
}
/**
 * Interface for a class AreaSettings
 */
export interface AreaSettingsModel {
    /**
     * 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;
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate?: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness?: number;
}
/**
 * Interface for a class RadiusSettings
 */
export interface RadiusSettingsModel {
    /**
     * 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;
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate?: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness?: number;
}
/**
 * Interface for a class VolumeSettings
 */
export interface VolumeSettingsModel {
    /**
     * 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;
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate?: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness?: number;
}
/**
 * Interface for a class StickyNotesSettings
 */
export interface StickyNotesSettingsModel {
    /**
     * specifies the author of the annotation.
     */
    author?: string;
    /**
     * specifies the subject of the annotation.
     */
    subject?: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate?: string;
    /**
     * specifies the opacity of the annotation.
     */
    opacity?: number;
}
/**
 * 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 {
    /**
     * 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 subject of the annotation.
     */
    subject?: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate?: 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;
}
/**
 * Interface for a class PdfViewer
 */
export interface PdfViewerModel extends base.ComponentModel{
    /**
     * Defines the service url of the PdfViewer control.
     */
    serviceUrl?: string;
    /**
     * Sets the PDF document path for initial loading.
     */
    documentPath?: 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;
    /**
     * Enable or disables the Navigation toolbar of PdfViewer.
     * @default true
     */
    enableNavigationToolbar?: 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;
    /**
     * Enables or disables the thumbnail view in the PDF viewer
     * @default true
     */
    enableThumbnail?: boolean;
    /**
     * Enables or disables the bookmark view in the PDF viewer
     * @default true
     */
    enableBookmark?: boolean;
    /**
     * Enables or disables the hyperlinks in PDF document.
     * @default true
     */
    enableHyperlink?: 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 disables the Navigation module of PdfViewer.
     * @default true
     */
    enableNavigation?: 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 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;
    /**
     * 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 false
     */
    enableAnnotationToolbar?: boolean;
    /**
     * Sets the interaction mode of the PdfViewer
     * @default TextSelection
     */
    interactionMode?: InteractionMode;
    /**
     * Defines the settings of the PdfViewer toolbar.
     */
    // tslint:disable-next-line:max-line-length
    toolbarSettings?: ToolbarSettingsModel;
    /**
     * Defines the ajax Request settings of the PdfViewer.
     */
    // tslint:disable-next-line:max-line-length
    ajaxRequestSettings?: AjaxRequestSettingsModel;
    /**
     * Defines the stamp items of the PdfViewer.
     */
    // tslint:disable-next-line:max-line-length
    customStampItems?: CustomStampItemModel[];
    /**
     * Defines the settings of the PdfViewer annotation toolbar.
     */
    // tslint:disable-next-line:max-line-length
    annotationToolbarSettings?: AnnotationToolbarSettingsModel;
    /**
     * Defines the settings of the PdfViewer service.
     */
    // tslint:disable-next-line:max-line-length
    serverActionSettings?: ServerActionSettingsModel;
    /**
     * 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.
     */
    // tslint:disable-next-line:max-line-length
    lineSettings?: LineSettingsModel;
    /**
     * Defines the settings of arrow annotation.
     */
    // tslint:disable-next-line:max-line-length
    arrowSettings?: ArrowSettingsModel;
    /**
     * Defines the settings of rectangle annotation.
     */
    // tslint:disable-next-line:max-line-length
    rectangleSettings?: RectangleSettingsModel;
    /**
     * Defines the settings of shape label.
     */
    // tslint:disable-next-line:max-line-length
    shapeLabelSettings?: ShapeLabelSettingsModel;
    /**
     * Defines the settings of circle annotation.
     */
    // tslint:disable-next-line:max-line-length
    circleSettings?: CircleSettingsModel;
    /**
     * Defines the settings of polygon annotation.
     */
    // tslint:disable-next-line:max-line-length
    polygonSettings?: PolygonSettingsModel;
    /**
     * Defines the settings of stamp annotation.
     */
    // tslint:disable-next-line:max-line-length
    stampSettings?: StampSettingsModel;
    /**
     * Defines the settings of customStamp annotation.
     */
    // tslint:disable-next-line:max-line-length
    customStampSettings?: CustomStampSettingsModel;
    /**
     * Defines the settings of distance annotation.
     */
    // tslint:disable-next-line:max-line-length
    distanceSettings?: DistanceSettingsModel;
    /**
     * Defines the settings of perimeter annotation.
     */
    // tslint:disable-next-line:max-line-length
    perimeterSettings?: PerimeterSettingsModel;
    /**
     * Defines the settings of area annotation.
     */
    // tslint:disable-next-line:max-line-length
    areaSettings?: AreaSettingsModel;
    /**
     * Defines the settings of radius annotation.
     */
    // tslint:disable-next-line:max-line-length
    radiusSettings?: RadiusSettingsModel;
    /**
     * Defines the settings of volume annotation.
     */
    // tslint:disable-next-line:max-line-length
    volumeSettings?: VolumeSettingsModel;
    /**
     * Defines the settings of stickyNotes annotation.
     */
    stickyNotesSettings?: StickyNotesSettingsModel;
    /**
     * Defines the settings of free text annotation.
     */
    // tslint:disable-next-line:max-line-length
    freeTextSettings?: FreeTextSettingsModel;
    /**
     * Defines the settings of measurement annotation.
     */
    measurementSettings?: MeasurementSettingsModel;
    /**
     * Defines the collection of selected items, size and position of the selector
     * @default {}
     */
    selectedItems?: SelectorModel;
    /**
     * 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>;
    /**
     * 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 an annotation is selected over the page of the PDF document.
     * @event
     * @blazorProperty 'AnnotationSelected'
     */
    annotationSelect?: base.EmitType<AnnotationSelectEventArgs>;
    /**
     * Triggers an event when the thumbnail is clicked in the thumbnail panel of PDF Viewer.
     * @event
     * @blazorProperty 'OnThumbnailClick'
     */
    thumbnailClick?: base.EmitType<ThumbnailClickEventArgs>;
    /**
     * Triggers when the property of the annotation is changed in the page of the PDF document.
     * @event
     */
    annotations?: PdfAnnotationBaseModel[];
    /**
     * tool denots the current tool
     * @event
     * @private
     */
    tool?: string;
    /**
     * the objects for drawing tool
     * @event
     * @private
     */
    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[];
}
/**
 * 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[];
}
export interface IAjaxHeaders {
    /**
     * specifies the ajax Header Name of the PdfViewer.
     */
    headerName: string;
    /**
     * specifies the ajax Header Value of the PdfViewer.
     */
    headerValue: string;
}
export  class CustomStampItem extends base.ChildProperty<CustomStampItem> {
    /**
     * specifies the stamp Name of the PdfViewer.
     */
    customStampName: string;
    /**
     * specifies the stamp ImageSource of the PdfViewer.
     */
    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 `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;
}
/**
 * The `StrikethroughSettings` module is used to provide the properties to Strikethrough annotation.
 */
export  class StrikethroughSettings extends base.ChildProperty<StrikethroughSettings> {
    /**
     * 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 subject of the annotation.
     */
    subject: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate: string;
}
/**
 * The `UnderlineSettings` module is used to provide the properties to Underline annotation.
 */
export  class UnderlineSettings extends base.ChildProperty<UnderlineSettings> {
    /**
     * 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 subject of the annotation.
     */
    subject: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate: string;
}
/**
 * The `HighlightSettings` module is used to provide the properties to Highlight annotation.
 */
export  class HighlightSettings extends base.ChildProperty<HighlightSettings> {
    /**
     * 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 subject of the annotation.
     */
    subject: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate: string;
}
/**
 * The `LineSettings` module is used to provide the properties to line annotation.
 */
export  class LineSettings extends base.ChildProperty<LineSettings> {
    /**
     * 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;
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate: 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;
}
/**
 * The `ArrowSettings` module is used to provide the properties to arrow annotation.
 */
export  class ArrowSettings extends base.ChildProperty<ArrowSettings> {
    /**
     * 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;
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate: 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;
}
/**
 * The `RectangleSettings` module is used to provide the properties to rectangle annotation.
 */
export  class RectangleSettings extends base.ChildProperty<RectangleSettings> {
    /**
     * 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;
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness: number;
}
/**
 * The `CircleSettings` module is used to provide the properties to circle annotation.
 */
export  class CircleSettings extends base.ChildProperty<CircleSettings> {
    /**
     * 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;
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness: number;
}
/**
 * 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;
}
/**
 * The `PolygonSettings` module is used to provide the properties to polygon annotation.
 */
export  class PolygonSettings extends base.ChildProperty<PolygonSettings> {
    /**
     * 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;
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness: number;
}
/**
 * The `stampSettings` module is used to provide the properties to stamp annotation.
 */
export  class StampSettings extends base.ChildProperty<StampSettings> {
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate: string;
}
/**
 * The `CustomStampSettings` module is used to provide the properties to customstamp annotation.
 */
export  class CustomStampSettings extends base.ChildProperty<CustomStampSettings> {
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate: 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.
     */
    isAddToSubMenu: boolean;
}
/**
 * The `DistanceSettings` module is used to provide the properties to distance calibrate annotation.
 */
export  class DistanceSettings extends base.ChildProperty<DistanceSettings> {
    /**
     * 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;
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate: 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;
}
/**
 * The `PerimeterSettings` module is used to provide the properties to perimeter calibrate annotation.
 */
export  class PerimeterSettings extends base.ChildProperty<PerimeterSettings> {
    /**
     * 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;
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate: 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;
}
/**
 * The `AreaSettings` module is used to provide the properties to area calibrate annotation.
 */
export  class AreaSettings extends base.ChildProperty<AreaSettings> {
    /**
     * 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;
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness: number;
}
/**
 * The `RadiusSettings` module is used to provide the properties to radius calibrate annotation.
 */
export  class RadiusSettings extends base.ChildProperty<RadiusSettings> {
    /**
     * 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;
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness: number;
}
/**
 * The `VolumeSettings` module is used to provide the properties to volume calibrate annotation.
 */
export  class VolumeSettings extends base.ChildProperty<VolumeSettings> {
    /**
     * 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;
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate: string;
    /**
     * specified the thickness of the annotation.
     */
    thickness: number;
}
/**
 * The `stickyNotesSettings` module is used to provide the properties to sticky notes annotation.
 */
export  class StickyNotesSettings extends base.ChildProperty<StickyNotesSettings> {
    /**
     * specifies the author of the annotation.
     */
    author: string;
    /**
     * specifies the subject of the annotation.
     */
    subject: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate: string;
    /**
     * specifies the opacity of the annotation.
     */
    opacity: number;
}
/**
 * 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> {
    /**
     * 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 subject of the annotation.
     */
    subject: string;
    /**
     * specifies the modified date of the annotation.
     */
    modifiedDate: 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;
}
/**
 * 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;
    /**
     * Returns the page count of the document loaded in the PdfViewer control.
     * @asptype int
     * @blazorType int
     */
    readonly pageCount: number;
    /**
     * Checks whether the PDF document is edited.
     * @asptype bool
     * @blazorType bool
     */
    readonly isDocumentEdited: boolean;
    /**
     * Returns the current page number of the document displayed in the PdfViewer control.
     * @asptype int
     * @blazorType int
     */
    readonly 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;
    /**
     * Gets or sets the document name loaded in the PdfViewer control.
     */
    fileName: 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;
    /**
     * Enable or disables the Navigation toolbar of PdfViewer.
     * @default true
     */
    enableNavigationToolbar: 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;
    /**
     * Enables or disables the thumbnail view in the PDF viewer
     * @default true
     */
    enableThumbnail: boolean;
    /**
     * Enables or disables the bookmark view in the PDF viewer
     * @default true
     */
    enableBookmark: boolean;
    /**
     * Enables or disables the hyperlinks in PDF document.
     * @default true
     */
    enableHyperlink: 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 disables the Navigation module of PdfViewer.
     * @default true
     */
    enableNavigation: 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 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;
    /**
     * 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 false
     */
    enableAnnotationToolbar: boolean;
    /**
     * Sets the interaction mode of the PdfViewer
     * @default TextSelection
     */
    interactionMode: InteractionMode;
    /**
     * 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.
     */
    customStampItems: CustomStampItemModel[];
    /**
     * Defines the settings of the PdfViewer annotation toolbar.
     */
    annotationToolbarSettings: AnnotationToolbarSettingsModel;
    /**
     * Defines the settings of the PdfViewer service.
     */
    serverActionSettings: ServerActionSettingsModel;
    /**
     * 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;
    /**
     * @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;
    /**
     * 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;
    /**
     * 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>;
    /**
     * 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 an annotation is selected over the page of the PDF document.
     * @event
     * @blazorProperty 'AnnotationSelected'
     */
    annotationSelect: base.EmitType<AnnotationSelectEventArgs>;
    /**
     * Triggers an event when the thumbnail is clicked in the thumbnail panel of PDF Viewer.
     * @event
     * @blazorProperty 'OnThumbnailClick'
     */
    thumbnailClick: base.EmitType<ThumbnailClickEventArgs>;
    /**
     * Triggers when the property of the annotation is changed in the page of the PDF document.
     * @event
     */
    annotations: PdfAnnotationBaseModel[];
    /**
     * @private
     */
    /**
     * tool denots the current tool
     * @event
     * @private
     */
    tool: string;
    /**
     * @private
     */
    /**
     * the objects for drawing tool
     * @event
     * @private
     */
    drawingObject: PdfAnnotationBaseModel;
    constructor(options?: PdfViewerModel, element?: string | HTMLElement);
    protected preRender(): void;
    protected render(): void;
    getModuleName(): string;
    /**
     * @private
     */
    getLocaleConstants(): Object;
    onPropertyChanged(newProp: PdfViewerModel, oldProp: PdfViewerModel): void;
    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;
    /**
     * 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;
    /**
     * 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
     * @returns void
     */
    exportAnnotations(): void;
    /**
     * Perform export annotations action in the PDF Viewer
     * @returns Promise<object>
     */
    exportAnnotationsAsObject(): Promise<object>;
    /**
     * @private
     */
    fireDocumentLoad(): void;
    /**
     * @private
     */
    fireDocumentUnload(fileName: string): void;
    /**
     * @private
     */
    fireDocumentLoadFailed(isPasswordRequired: boolean, password: string): void;
    /**
     * @private
     */
    fireAjaxRequestFailed(errorStatusCode: number, errorMessage: string, action: string): void;
    /**
     * @private
     */
    firePageClick(x: number, y: number, pageNumber: number): void;
    /**
     * @private
     */
    firePageChange(previousPageNumber: number): void;
    /**
     * @private
     */
    fireZoomChange(): void;
    /**
     * @private
     */
    fireHyperlinkClick(hyperlink: string, hyperlinkElement: HTMLAnchorElement): void;
    /**
     * @private
     */
    fireHyperlinkHover(hyperlinkElement: HTMLAnchorElement): void;
    /**
     * @private
     */
    fireAnnotationAdd(pageNumber: number, index: number, type: AnnotationType, bounds: any, settings: any): void;
    /**
     * @private
     */
    fireAnnotationRemove(pageNumber: number, index: number, type: AnnotationType): void;
    /**
     * @private
     */
    fireAnnotationPropertiesChange(pageNumber: number, index: number, type: AnnotationType, isColorChanged: boolean, isOpacityChanged: boolean, isTextChanged: boolean, isCommentsChanged: boolean): void;
    /**
     * @private
     */
    fireAnnotationSelect(id: string, pageNumber: number, annotation: any): void;
    /**
     * @private
     */
    renderDrawing(canvas?: HTMLCanvasElement, index?: number): void;
    /**
     * @private
     */
    fireAnnotationResize(pageNumber: number, index: number, type: AnnotationType, bounds: any, settings: any): void;
    /**
     * @private
     */
    fireThumbnailClick(pageNumber: number): void;
    /**
     * @private
     */
    renderAdornerLayer(bounds: ClientRect, commonStyle: string, cavas: HTMLElement, index: number): void;
    /**
     * @private
     */
    renderSelector(index: number): void;
    /**
     * @private
     */
    select(objArray: string[], multipleSelection?: boolean, preventUpdate?: boolean): void;
    /**
     * @private
     */
    getPageTable(pageId: number): ZOrderPageTable;
    /**
     * @private
     */
    dragSelectedObjects(diffX: number, diffY: number, pageIndex: number, helper: PdfAnnotationBaseModel): boolean;
    /**
     * @private
     */
    scaleSelectedItems(sx: number, sy: number, pivot: drawings.PointModel): boolean;
    /**
     * @private
     */
    dragConnectorEnds(endPoint: string, obj: drawings.IElement, point: drawings.PointModel, segment: drawings.PointModel, target?: drawings.IElement, targetPortId?: string): boolean;
    /**
     * @private
     */
    clearSelection(pageId: number): void;
    /**
     * @private
     */
    add(obj: PdfAnnotationBase): PdfAnnotationBaseModel;
    /**
     * @private
     */
    remove(obj: PdfAnnotationBaseModel): void;
    /**
     * @private
     */
    copy(): Object;
    /**
     * @private
     */
    rotate(angle: number): boolean;
    /**
     * @private
     */
    paste(obj?: PdfAnnotationBaseModel[]): void;
    /**
     * @private
     */
    refresh(): void;
    /**
     * @private
     */
    cut(): void;
    /**
     * @private
     */
    nodePropertyChange(actualObject: PdfAnnotationBaseModel, node: PdfAnnotationBaseModel): void;
    /**
     * @private
     */
    checkBoundaryConstraints(tx: number, ty: number, pageIndex: number, nodeBounds?: drawings.Rect, isStamp?: 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;
    private frameDoc;
    private iframe;
    /**
     * @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
     */
    applyPosition(inputField: any, bounds: any, font: any, heightRatio: number, widthRatio: number): any;
    private printWindowOpen;
    /**
     * @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 pdfViewer;
    private pdfViewerBase;
    private searchBox;
    private nextSearchBtn;
    private prevSearchBtn;
    private checkBox;
    private searchIndex;
    private currentSearchIndex;
    private searchPageIndex;
    private searchString;
    private isMatchCase;
    private searchRequestHandler;
    private textContents;
    private searchMatches;
    private searchCollection;
    private searchedPages;
    private isPrevSearch;
    private tempElementStorage;
    /**
     * @private
     */
    isMessagePopupOpened: boolean;
    /**
     * @private
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @private
     */
    createTextSearchBox(): void;
    /**
     * @private
     */
    textSearchBoxOnResize(): void;
    /**
     * @private
     */
    showSearchBox(isShow: boolean): void;
    /**
     * @private
     */
    searchAfterSelection(): void;
    private initiateTextSearch;
    /**
     * @private
     */
    initiateSearch(inputString: string): void;
    private textSearch;
    private nextSearch;
    private prevSearch;
    private initSearch;
    private getPossibleMatches;
    private getSearchPage;
    private highlightSearchedTexts;
    private addDivForSearch;
    private addDivElement;
    private createSearchTextDiv;
    private isClassAvailable;
    private getScrollElement;
    private scrollToSearchStr;
    /**
     * @private
     */
    resizeSearchElements(pageIndex: number): void;
    /**
     * @private
     */
    highlightOtherOccurrences(pageNumber: number): void;
    private highlightOthers;
    /**
     * @private
     */
    clearAllOccurrences(): void;
    /**
     * @private
     */
    getIndexes(): any;
    private applyTextSelection;
    /**
     * @private
     */
    resetTextSearch(): void;
    private onTextSearchClose;
    private createRequestForSearch;
    private createSearchBoxButtons;
    private enablePrevButton;
    private enableNextButton;
    private checkBoxOnChange;
    /**
     * @private
     */
    resetVariables(): void;
    private searchKeypressHandler;
    private searchClickHandler;
    /**
     * @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.
 * @hidden
 */
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
     */
    constructor(pdfViewer: PdfViewer, pdfViewerBase: PdfViewerBase);
    /**
     * @private
     */
    textSelectionOnMouseMove(target: EventTarget, x: number, y: number): void;
    /**
     * @private
     */
    textSelectionOnMouseLeave(event: MouseEvent): void;
    private scrollForwardOnSelection;
    private scrollBackwardOnSelection;
    /**
     * @private
     */
    clear(): void;
    /**
     * @private
     */
    selectAWord(element: any, x: number, y: number, isStoreSelection: boolean): void;
    private getSelectionRange;
    /**
     * @private
     */
    selectEntireLine(event: MouseEvent): void;
    /**
     * @private
     */
    enableTextSelectionMode(): void;
    /**
     * @private
     */
    clearTextSelection(): void;
    /**
     * @private
     */
    removeTouchElements(): void;
    /**
     * @private
     */
    resizeTouchElements(): void;
    /**
     * @private
     */
    textSelectionOnMouseup(event: MouseEvent): void;
    /**
     * @private
     */
    maintainSelectionOnZoom(isMaintainSelection: boolean, isStich: boolean): void;
    /**
     * @private
     */
    isSelectionAvailableOnScroll(pageNumber: number): boolean;
    /**
     * @private
     */
    applySelectionRangeOnScroll(pageNumber: number): void;
    private getSelectionRangeFromArray;
    private applySelectionRange;
    private applySelectionMouseScroll;
    /**
     * @private
     */
    maintainSelectionOnScroll(pageNumber: number, isStich: boolean): void;
    private maintainSelection;
    private getCorrectOffset;
    private pushSelectionRangeObject;
    private extendCurrentSelection;
    private stichSelection;
    /**
     * @private
     */
    textSelectionOnMouseWheel(currentPageNumber: number): void;
    /**
     * @private
     */
    stichSelectionOnScroll(currentPageNumber: number): void;
    private extendSelectionStich;
    /**
     * @private
     */
    createRangeObjectOnScroll(pageNumber: number, anchorPageId: number, focusPageId: number): ISelection;
    private getSelectionRangeObject;
    private getSelectionBounds;
    private getSelectionRectangleBounds;
    private getTextId;
    private normalizeBounds;
    private getMagnifiedValue;
    /**
     * @private
     */
    getCurrentSelectionBounds(pageNumber: number): IRectangle;
    private createRangeForSelection;
    private maintainSelectionArray;
    /**
     * @private
     */
    applySpanForSelection(): void;
    /**
     * @private
     */
    initiateTouchSelection(event: TouchEvent, x: number, y: number): void;
    private selectTextByTouch;
    private setTouchSelectionStartPosition;
    private getTouchAnchorElement;
    private getTouchFocusElement;
    private createTouchSelectElement;
    /**
     * @private
     */
    calculateContextMenuPosition(top: any, left: any): any;
    private onLeftTouchSelectElementTouchStart;
    private onRightTouchSelectElementTouchStart;
    private onLeftTouchSelectElementTouchEnd;
    private onRightTouchSelectElementTouchEnd;
    private initiateSelectionByTouch;
    private terminateSelectionByTouch;
    private onLeftTouchSelectElementTouchMove;
    private onRightTouchSelectElementTouchMove;
    private getNodeElement;
    private isTouchedWithinContainer;
    private onTouchElementScroll;
    private isCloserTouchScroll;
    private getClientValueTop;
    private isScrolledOnScrollBar;
    private getTextLastLength;
    private getNodeElementFromNode;
    /**
     * @private
     */
    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 isThumbnailCompleted;
    private startIndex;
    private thumbnailLimit;
    private thumbnailThreshold;
    private thumbnailTopMargin;
    private thumbnailRequestHandler;
    /**
     * @private
     */
    isThumbnailClicked: boolean;
    /**
     * @private
     */
    thumbnailView: HTMLElement;
    /**
     * @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;
    /**
     * @private
     */
    gotoThumbnailImage(pageNumber: number): void;
    private checkThumbnailScroll;
    private getPageNumberFromID;
    private setFocusStyle;
    private renderThumbnailImage;
    private wireUpEvents;
    private unwireUpEvents;
    /**
     * @private
     */
    thumbnailClick: (event: MouseEvent) => void;
    private goToThumbnailPage;
    private setSelectionStyle;
    /**
     * @private
     */
    thumbnailMouseOver: (event: MouseEvent) => void;
    private setMouseOverStyle;
    /**
     * @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 deleteItem;
    /**
     * @private
     */
    freeTextEditItem: HTMLElement;
    /**
     * @private
     */
    colorDropDownElement: 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 toolbar;
    private colorPalette;
    private strokeColorPicker;
    private opacitySlider;
    private thicknessSlider;
    private toolbarBorderHeight;
    /**
     * @private
     */
    isToolbarHidden: boolean;
    /**
     * @private
     */
    isMobileAnnotEnabled: boolean;
    private isHighlightEnabled;
    private isUnderlineEnabled;
    private isStrikethroughEnabled;
    private isHighlightBtnVisible;
    private isUnderlineBtnVisible;
    private isStrikethroughBtnVisible;
    private isColorToolVisible;
    private isOpacityToolVisible;
    private isDeleteAnnotationToolVisible;
    private isCurrentAnnotationOpacitySet;
    private isStampBtnVisible;
    private isShapeBtnVisible;
    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 alignmentToolbar;
    private propertiesToolbar;
    private fontColorDropDown;
    private textAlignDropDown;
    private textPropertiesDropDown;
    constructor(viewer: PdfViewer, viewerBase: PdfViewerBase, toolbar: Toolbar);
    /**
     * @private
     */
    initializeAnnotationToolbar(): void;
    createMobileAnnotationToolbar(isEnable: boolean): void;
    hideMobileAnnotationToolbar(): void;
    private createMobileToolbarItems;
    private goBackToToolbar;
    private createToolbarItems;
    private getTemplate;
    private createStampContainer;
    private addStampImage;
    private createDropDowns;
    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 thicknessChange;
    private createDropDownButton;
    private createShapeOptions;
    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 afterShapeToolbarCreation;
    private afterCalibrateToolbarCreation;
    private createColorPicker;
    private onColorPickerChange;
    private onStrokePickerChange;
    /**
     * @private
     */
    updateColorInIcon(element: HTMLElement, color: string): void;
    /**
     * @private
     */
    updateTextPropertySelection(currentOption: string): void;
    /**
     * @private
     */
    updateFontFamilyInIcon(family: string): void;
    /**
     * @private
     */
    updateTextAlignInIcon(align: string): void;
    /**
     * @private
     */
    updateFontSizeInIcon(size: number): void;
    private updateOpacityIndicator;
    private updateThicknessIndicator;
    private createSlider;
    private createThicknessSlider;
    private afterToolbarCreation;
    private onToolbarClicked;
    private resetFreeTextAnnot;
    private handleFreeTextEditor;
    /**
     * @private
     */
    showAnnotationToolbar(element: HTMLElement): void;
    private enablePropertiesTool;
    private applyAnnotationToolbarSettings;
    private showSeparator;
    private showHighlightTool;
    private showUnderlineTool;
    private showStrikethroughTool;
    private showShapeAnnotationTool;
    private showCalibrateAnnotationTool;
    private showFreeTextAnnotationTool;
    private showStampAnnotationTool;
    private showFontFamilyAnnotationTool;
    private showFontSizeAnnotationTool;
    private showFontAlignAnnotationTool;
    private showFontColorAnnotationTool;
    private showFontStylesAnnotationTool;
    private showColorEditTool;
    private showStrokeColorEditTool;
    private showThicknessEditTool;
    private showOpacityEditTool;
    private showAnnotationDeleteTool;
    private applyHideToToolbar;
    /**
     * @private
     */
    adjustViewer(isAdjust: boolean): void;
    private updateContentContainerHeight;
    private getToolbarHeight;
    private getNavigationToolbarHeight;
    private handleHighlight;
    private handleUnderline;
    private handleStrikethrough;
    /**
     * @private
     */
    deselectAllItems(): void;
    private updateInteractionTools;
    /**
     * @private
     */
    selectAnnotationDeleteItem(isEnable: boolean): void;
    /**
     * @private
     */
    enableTextMarkupAnnotationPropertiesTools(isEnable: boolean): void;
    /**
     * @private
     */
    enableAnnotationPropertiesTools(isEnable: boolean): void;
    /**
     * @private
     */
    enableStampAnnotationPropertiesTools(isEnable: boolean): void;
    /**
     * @private
     */
    enableFreeTextAnnotationPropertiesTools(isEnable: boolean): void;
    /**
     * @private
     */
    enableAnnotationAddTools(isEnable: boolean): void;
    /**
     * @private
     */
    isAnnotationButtonsEnabled(): boolean;
    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 getElementHeight;
    private updateViewerHeight;
    private resetViewerHeight;
}
//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;
    private pdfViewer;
    private pdfViewerBase;
    private currentPageBox;
    private zoomDropDown;
    private currentPageBoxElement;
    /**
     * @private
     */
    uploadedDocumentName: string;
    private toolbarElement;
    private itemsContainer;
    private openDocumentItem;
    private firstPageItem;
    private previousPageItem;
    private nextPageItem;
    private lastPageItem;
    private zoomInItem;
    private zoomOutItem;
    private totalPageItem;
    private downloadItem;
    private zoomDropdownItem;
    private fileInputElement;
    private textSelectItem;
    private panItem;
    private printItem;
    private textSearchItem;
    private undoItem;
    private redoItem;
    private commentItem;
    /**
     * @private
     */
    annotationItem: HTMLElement;
    private moreOptionItem;
    /**
     * @private
     */
    annotationToolbarModule: AnnotationToolbar;
    /**
     * @private
     */
    moreDropDown: splitbuttons.DropDownButton;
    private isPageNavigationToolDisabled;
    private isMagnificationToolDisabled;
    private isSelectionToolDisabled;
    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 isCommentBtnVisible;
    /**
     * @private
     */
    isCommentIconAdded: boolean;
    /**
     * @private
     */
    isAddComment: boolean;
    /**
     * @private
     */
    constructor(viewer: PdfViewer, viewerBase: PdfViewerBase);
    /**
     * @private
     */
    intializeToolbar(width: string): HTMLElement;
    /**
     * 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 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;
    private showOpenOption;
    private showPageNavigationTool;
    private showMagnificationTool;
    private showSelectionTool;
    private showScrollingTool;
    private showDownloadOption;
    private showPrintOption;
    private showSearchOption;
    private showUndoRedoTool;
    private showCommentOption;
    private showAnnotationEditTool;
    private enableOpenOption;
    private enablePageNavigationTool;
    private enableMagnificationTool;
    private enableSelectionTool;
    private enableScrollingTool;
    private enableDownloadOption;
    private enablePrintOption;
    private enableSearchOption;
    private enableUndoRedoTool;
    private enableAnnotationEditTool;
    private enableCommentsTool;
    /**
     * @private
     */
    resetToolbar(): void;
    /**
     * @private
     */
    updateToolbarItems(): void;
    /**
     * @private
     */
    updateNavigationButtons(): void;
    /**
     * @private
     */
    updateZoomButtons(): void;
    /**
     * @private
     */
    updateUndoRedoButtons(): void;
    private enableCollectionAvailable;
    private disableUndoRedoButtons;
    /**
     * @private
     */
    destroy(): void;
    /**
     * @private
     */
    updateCurrentPage(pageIndex: number): void;
    /**
     * @private
     */
    updateTotalPage(): void;
    /**
     * @private
     */
    openFileDialogBox(event: Event): void;
    private createToolbar;
    private createToolbarItems;
    private afterToolbarCreation;
    /**
     * @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;
    /**
     * @private
     */
    createTooltip(toolbarItem: HTMLElement, tooltipText: string): void;
    private onTooltipBeforeOpen;
    private createFileElement;
    private wireEvent;
    private unWireEvent;
    /**
     * @private
     */
    onToolbarResize(viewerWidth: number): void;
    private toolbarOnMouseup;
    private applyHideToToolbar;
    private toolbarClickHandler;
    private handleOpenIconClick;
    private handleToolbarBtnClick;
    private addComments;
    private loadDocument;
    private navigateToPage;
    private textBoxFocusOut;
    private onZoomDropDownInput;
    private onZoomDropDownInputClick;
    private zoomPercentSelect;
    private zoomDropDownChange;
    /**
     * @private
     */
    updateZoomPercentage(zoomFactor: number): void;
    private updateInteractionItems;
    /**
     * @private
     */
    textSearchButtonHandler(): void;
    private initiateAnnotationMode;
    /**
     * @private
     */
    DisableInteractionTools(): void;
    /**
     * @private
     */
    selectItem(element: HTMLElement): void;
    /**
     * @private
     */
    deSelectItem(element: HTMLElement): void;
    /**
     * @private
     */
    updateInteractionTools(isTextSelect: boolean): void;
    private initialEnableItems;
    private showSeparator;
    private applyToolbarSettings;
    private getStampMode;
    /**
     * @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 */
    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 */
    isMutiMeasures: 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 */
    showRowGrandTotals: boolean;
    /** @hidden */
    showHeaderWhenEmpty: boolean;
    /** @hidden */
    showColumnGrandTotals: boolean;
    /** @hidden */
    pageSettings: IPageSettings;
    /** @hidden */
    filterMembers: number[];
    /** @hidden */
    formatFields: {
        [key: string]: IFormatSettings;
    };
    /** @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 */
    isEngineUpdated: boolean;
    /** @hidden */
    savedFieldList: IFieldListOptions;
    /** @hidden */
    valueAxis: number;
    /** @hidden */
    saveDataHeaders: {
        [key: string]: IAxisSet[];
    };
    /** @hidden */
    columnCount: number;
    /** @hidden */
    rowCount: 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[];
    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 rawIndexObject;
    private isEditing;
    /** @hidden */
    data: IDataSet[];
    private frameHeaderObjectsCollection;
    private headerObjectsCollection;
    private localeObj;
    private getValueCellInfo;
    private fieldsType;
    private groupingFields;
    private columnKeys;
    private fieldDrillCollection;
    private customRegex;
    private formatRegex;
    renderEngine(dataSource?: IDataOptions, customProperties?: ICustomProperties, fn?: Function): void;
    private getGroupData;
    private frameData;
    private getRange;
    private getFormattedFields;
    private getFieldList;
    private updateFieldList;
    private updateTreeViewData;
    private getCalculatedField;
    private validateFilters;
    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, headerCollection?: HeaderCollection): void;
    /** @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;
    private frameHeaderWithKeys;
    private getSortedHeaders;
    /** @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 recursiveRowData;
    private updateRowData;
    private getCellSet;
    private getHeaderData;
    private getAggregateValue;
    private evaluate;
    /** hidden */
    getFormattedValue(value: number | string, fieldName: string): IAxisSet;
    private powerFunction;
}
export interface IDataOptions {
    catalog?: string;
    cube?: string;
    providerType?: ProviderType;
    url?: string;
    localeIdentifier?: number;
    dataSource?: IDataSet[] | data.DataManager;
    rows?: IFieldOptions[];
    columns?: IFieldOptions[];
    values?: IFieldOptions[];
    filters?: IFieldOptions[];
    excludeFields?: string[];
    expandAll?: boolean;
    valueAxis?: string;
    filterSettings?: IFilter[];
    sortSettings?: ISort[];
    enableSorting?: boolean;
    formatSettings?: IFormatSettings[];
    drilledMembers?: IDrillOptions[];
    valueSortSettings?: IValueSortSettings;
    calculatedFieldSettings?: ICalculatedFieldSettings[];
    allowLabelFilter?: boolean;
    allowValueFilter?: boolean;
    showSubTotals?: boolean;
    showRowSubTotals?: boolean;
    showColumnSubTotals?: boolean;
    showGrandTotals?: boolean;
    showRowGrandTotals?: boolean;
    showColumnGrandTotals?: boolean;
    showHeaderWhenEmpty?: boolean;
    alwaysShowValueHeader?: boolean;
    conditionalFormatSettings?: IConditionalFormatSettings[];
    emptyCellsTextContent?: string;
    groupSettings?: IGroupSettings[];
}
export interface IConditionalFormatSettings {
    measure?: string;
    conditions?: Condition;
    value1?: number;
    value2?: number;
    style?: IStyle;
    label?: string;
    applyGrandTotals?: boolean;
}
export interface IStyle {
    backgroundColor?: string;
    color?: string;
    fontFamily?: string;
    fontSize?: string;
}
export interface IValueSortSettings {
    headerText?: string;
    headerDelimiter?: string;
    sortOrder?: Sorting;
    columnIndex?: number;
    measure?: string;
}
export interface IPageSettings {
    columnSize?: number;
    rowSize?: number;
    columnCurrentPage?: number;
    rowCurrentPage?: 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;
}
export interface IFieldOptions {
    name?: string;
    caption?: string;
    type?: SummaryTypes;
    axis?: string;
    showNoDataItems?: boolean;
    baseField?: string;
    baseItem?: string;
    showSubTotals?: boolean;
    isNamedSet?: boolean;
    isCalculatedField?: boolean;
}
export interface ISort {
    name?: string;
    order?: Sorting;
}
export interface IFilter {
    name?: string;
    type?: FilterType;
    items?: string[];
    condition?: Operators;
    value1?: string | Date;
    value2?: string | Date;
    showLabelFilter?: boolean;
    showDateFilter?: boolean;
    showNumberFilter?: boolean;
    measure?: string;
    levelCount?: number;
    selectedField?: string;
}
export interface IDrillOptions {
    name?: string;
    items?: string[];
    delimiter?: string;
}
export interface ICalculatedFieldSettings {
    name?: string;
    formula?: string;
    hierarchyUniqueName?: string;
    formatString?: string;
}
export interface ICalculatedFields extends ICalculatedFieldSettings {
    actualFormula?: string;
}
export interface IFormatSettings extends base.NumberFormatOptions, base.DateFormatOptions {
    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;
}
export interface IField {
    id?: string;
    caption?: string;
    type?: string;
    formatString?: string;
    index?: number;
    members?: IMembers;
    formattedMembers?: IMembers;
    dateMember?: IAxisSet[];
    filter?: string[];
    sort?: string;
    aggregateType?: string;
    baseField?: string;
    baseItem?: string;
    filterType?: string;
    format?: string;
    formula?: string;
    isSelected?: boolean;
    isExcelFilter?: boolean;
    showNoDataItems?: boolean;
}
export interface IAxisSet {
    formattedText?: string;
    actualText?: number | string;
    type?: string;
    isDrilled?: boolean;
    hasChild?: boolean;
    members?: this[];
    index?: number[];
    indexObject?: INumberIndex;
    ordinal?: number;
    level?: number;
    axis?: string;
    value?: number;
    colSpan?: number;
    rowSpan?: number;
    valueSort?: IDataSet;
    colIndex?: number;
    rowIndex?: number;
    columnHeaders?: string | number | Date;
    rowHeaders?: string | number | Date;
    isSum?: boolean;
    isLevelFiltered?: boolean;
    cssClass?: string;
    style?: IStyle;
    enableHyperlink?: boolean;
    showSubTotals?: boolean;
    dateText?: number | string;
    memberType?: number;
    parentUniqueName?: string;
    levelUniqueName?: string;
    hierarchy?: string;
    colOrdinal?: number;
    rowOrdinal?: number;
    isNamedSet?: boolean;
}
export interface IDrilledItem {
    fieldName: string;
    memberName: string;
    axis: string;
    action: string;
    delimiter: string;
    currentCell?: IAxisSet;
}
export interface ICustomProperties {
    mode?: string;
    savedFieldList?: IFieldListOptions;
    pageSettings?: IPageSettings;
    enableValueSorting?: boolean;
    isDrillThrough?: boolean;
    localeObj?: base.L10n;
    fieldsType?: IStringIndex;
}
export interface IGroupSettings {
    name?: string;
    groupInterval?: DateGroup[];
    startingAt?: Date | number | string;
    endingAt?: Date | number | string;
    rangeInterval?: number;
    type?: GroupType;
}
export interface IGroupRange {
    range?: string;
    isNotInRange?: boolean;
    value?: Date | number;
}
//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 */
    isMeasureAvail: boolean;
    /** @hidden */
    selectedItems: string[];
    /** @hidden */
    filterSettings: IFilter[];
    /** @hidden */
    sortSettings: ISort[];
    /** @hidden */
    filterMembers: {
        [key: string]: string[] | IFilter[];
    };
    /** @hidden */
    allowLabelFilter: boolean;
    /** @hidden */
    allowValueFilter: boolean;
    /** @hidden */
    mdxQuery: string;
    /** @hidden */
    isPaging: boolean;
    /** @hidden */
    pageSettings: IPageSettings;
    /** @hidden */
    calcChildMembers: IOlapField[];
    /** @hidden */
    drilledSets: {
        [key: string]: HTMLElement;
    };
    private localeObj;
    private measureReportItems;
    private locale;
    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;
    renderEngine(dataSourceSettings?: IDataOptions, customProperties?: IOlapCustomProperties): 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 frameTupCollection;
    private getCaptionCollectionWithMeasure;
    /** hidden */
    setNamedSetsPosition(): void;
    private updateRowEngine;
    private updateTupCollection;
    private frameColumnHeader;
    private orderTotals;
    private setParentCollection;
    private setDrillInfo;
    private levelCompare;
    private mergeTotCollection;
    private getLevelsAsString;
    private frameCommonColumnLoop;
    private getDrilledParent;
    private performRowSorting;
    private performColumnSorting;
    private frameUniqueName;
    private sortRowHeaders;
    private sortColumnHeaders;
    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 loadLevelElements;
    private loadMeasureElements;
    private loadMeasureGroups;
    doAjaxPost(type: string, url: string, data: string, success: Function, customArgs?: Object): void;
    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;
    isCalculatedField?: boolean;
    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 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
/**
 * Defines directions of Sorting. They are
 * * Ascending
 * * Descending
 * * None
 */
export  type Sorting = 
/**  Defines sort direction as Ascending */
'Ascending' | 
/**  Defines sort direction as Descending */
'Descending' | 
/**  Defines sort direction as None */
'None';
/**
 * Defines the aggregate types.
 */
export  type SummaryTypes = 
/** Defines sum aggregate type */
'Sum' | 
/** Defines product aggregate type */
'Product' | 
/** Specifies count aggregate type */
'Count' | 
/** Specifies distinct count aggregate type */
'DistinctCount' | 
/** Specifies minimum aggregate type */
'Min' | 
/** Specifies maximum aggregate type */
'Max' | 
/** Specifies average aggregate type */
'Avg' | 
/** Specifies index aggregate type */
'Index' | 
/** Specifies percentage of grand totals of total aggregate type */
'PercentageOfGrandTotal' | 
/** Specifies percentage of grand column total aggregate type */
'PercentageOfColumnTotal' | 
/** Specifies percentage of grand row total aggregate type */
'PercentageOfRowTotal' | 
/** Specifies percentage of grand parent row total aggregate type */
'PercentageOfParentRowTotal' | 
/** Specifies percentage of grand parent column total aggregate type */
'PercentageOfParentColumnTotal' | 
/** Specifies percentage of grand parent total aggregate type */
'PercentageOfParentTotal' | 
/** Specifies running totals aggregate type */
'RunningTotals' | 
/** Specifies standard deviation of population aggregate type */
'PopulationStDev' | 
/** Specifies sample standard deviation aggregate type */
'SampleStDev' | 
/** Specifies variance of population aggregate type */
'PopulationVar' | 
/** Specifies sample variance aggregate type */
'SampleVar' | 
/** Specifies difference from aggregate type */
'DifferenceFrom' | 
/** Specifies % of difference from aggregate type */
'PercentageOfDifferenceFrom' | 
/** Specifies 'CalculatedField' aggregate type for calculated fields */
'CalculatedField';
/**
 * Defines types of Filter
 * * 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.
 */
export  type FilterType = 
/**  Defines filter type as 'Include' for member filter */
'Include' | 
/**  Defines filter type as 'Exclude' for member filter */
'Exclude' | 
/**  Defines filter type as 'Label' for header filter */
'Label' | 
/**  Defines filter type as 'Label' for date based filter */
'Date' | 
/**  Defines filter type as 'Label' for number based filter */
'Number' | 
/**  Defines filter type as 'Label' for value based filter */
'Value';
export  type Operators = 'Equals' | 'DoesNotEquals' | 'BeginWith' | 'DoesNotBeginWith' | 'EndsWith' | 'DoesNotEndsWith' | 'Contains' | 'DoesNotContains' | 'GreaterThan' | 'GreaterThanOrEqualTo' | 'LessThan' | 'LessThanOrEqualTo' | 'Before' | 'BeforeOrEqualTo' | 'After' | 'AfterOrEqualTo' | 'Between' | 'NotBetween';
export  type LabelOperators = 'Equals' | 'DoesNotEquals' | 'BeginWith' | 'DoesNotBeginWith' | 'EndsWith' | 'DoesNotEndsWith' | 'Contains' | 'DoesNotContains' | 'GreaterThan' | 'GreaterThanOrEqualTo' | 'LessThan' | 'LessThanOrEqualTo' | 'Between' | 'NotBetween';
export  type ValueOperators = 'Equals' | 'DoesNotEquals' | 'GreaterThan' | 'GreaterThanOrEqualTo' | 'LessThan' | 'LessThanOrEqualTo' | 'Between' | 'NotBetween';
export  type DateOperators = 'Equals' | 'DoesNotEquals' | 'Before' | 'BeforeOrEqualTo' | 'After' | 'AfterOrEqualTo' | 'Between' | 'NotBetween';
export  type Condition = 'LessThan' | 'GreaterThan' | 'LessThanOrEqualTo' | 'GreaterThanOrEqualTo' | 'Equals' | 'NotEquals' | 'Between' | 'NotBetween';
/**
 * Defines group of date field
 * * 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.
 */
export  type DateGroup = 
/**  Defines group as 'Years' of date field */
'Years' | 
/**  Defines group as 'Quarters' of date field */
'Quarters' | 
/**  Defines group as 'Quarter Year' of date field */
'QuarterYear' | 
/**  Defines group as 'Months' of date field */
'Months' | 
/**  Defines group as 'Days' of date field */
'Days' | 
/**  Defines group as 'Hours' of date field */
'Hours' | 
/**  Defines group as 'Minutes' of date field */
'Minutes' | 
/**  Defines group as 'Seconds' of date field */
'Seconds';
export  type GroupType = 
/**  Defines group type as 'Date' for date field */
'Date' | 
/**  Defines group type as 'Number' for numeric field */
'Number';
export  type ProviderType = 
/**  Defines data type as 'Relational' for relation mode */
'Relational' | 
/**  Defines data type as 'SSAS' for OLAP mode */
'SSAS';
//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: Date): string;
    static resetTime(date: Date): Date;
    static getClonedData(data: {
        [key: string]: Object;
    }[]): {
        [key: string]: Object;
    }[];
    static getClonedPivotValues(pivotValues: IPivotValues): IPivotValues;
    private static getClonedObj;
    static inArray(value: Object, collection: Object[]): number;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/actions/common.d.ts
/**
 * Module for PivotCommon rendering
 */
/** @hidden */
export  class Common implements IAction {
    /**
     * Module declarations
     */
    private parent;
    private handlers;
    /** Constructor for Common module */
    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
     * @return {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;
    /**
     * Constructor for the dialog action.
     * @hidden
     */
    constructor(parent?: PivotCommon);
    /**
     * Updates the dataSource by adding the given field along with field dropped position to the dataSource.
     * @param  {string} fieldName - Defines dropped field name to update dataSource.
     * @param  {string} droppedClass -  Defines dropped field axis name to update dataSource.
     * @param  {number} fieldCaption - Defines dropped position to the axis based on field position.
     * @method updateDataSource
     * @return {void}
     * @hidden
     */
    updateDataSource(fieldName: string, droppedClass: string, droppedPosition: number): void;
    /**
     * Updates the dataSource by removing the given field from the dataSource.
     * @param  {string} fieldName - Defines dropped field name to remove dataSource.
     * @method removeFieldFromReport
     * @return {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.
     * @method getNewField
     * @return {void}
     * @hidden
     */
    getNewField(fieldName: string): IFieldOptions;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/actions/event-base.d.ts
/**
 * `EventBase` for active fields action.
 */
/** @hidden */
export  class EventBase {
    parent: PivotCommon;
    /**
     * Constructor for the dialog action.
     * @hidden
     */
    constructor(parent?: PivotCommon);
    /**
     * Updates sorting order for the selected field.
     * @method updateSorting
     * @param  {Event} args - Contains clicked element information to update dataSource.
     * @return {void}
     * @hidden
     */
    updateSorting(args: Event): void;
    /**
     * Updates sorting order for the selected field.
     * @method updateFiltering
     * @param  {Event} args - Contains clicked element information to update dataSource.
     * @return {void}
     * @hidden
     */
    updateFiltering(args: Event): void;
    private getOlapData;
    /**
     * Gets sorted filter members for the selected field.
     * @method sortFilterData
     * @param  {{ [key: string]: Object }[]} treeData - Gets filter members for the given field name.
     * @return {{ [key: string]: Object }[]}
     * @hidden
     */
    sortOlapFilterData(treeData: {
        [key: string]: Object;
    }[], order: string): {
        [key: string]: Object;
    }[];
    /**
     * Gets sort object for the given field name from the dataSource.
     * @method getSortItemByName
     * @param  {string} fieldName - Gets sort settings for the given field name.
     * @return {ISort}
     * @hidden
     */
    getSortItemByName(fieldName: string): ISort;
    /**
     * Gets filter object for the given field name from the dataSource.
     * @method getFilterItemByName
     * @param  {string} fieldName - Gets filter settings for the given field name.
     * @return {IFilter}
     * @hidden
     */
    getFilterItemByName(fieldName: string): IFilter;
    /**
     * Gets filter object for the given field name from the dataSource.
     * @method getFieldByName
     * @param  {string} fieldName - Gets filter settings for the given field name.
     * @return {Sort}
     * @hidden
     */
    getFieldByName(fieldName: string, fields: IFieldOptions[]): IFieldOptions;
    /**
     * Gets format object for the given field name from the dataSource.
     * @method getFilterItemByName
     * @param  {string} fieldName - Gets format settings for the given field name.
     * @return {IFormatSettings}
     * @hidden
     */
    getFormatItemByName(fieldName: string): IFormatSettings;
    private getParentIDs;
    private getChildIDs;
    /**
     * 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
     * @return {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;
    /**
     * Constructor
     */
    constructor(parent: PivotCommon);
    private keyActionHandler;
    private processOpenContextMenu;
    private processSort;
    private processFilter;
    private processDelete;
    /**
     * To destroy the keyboard module.
     * @return {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.
     * @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.
     * @method 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.
     * @return {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;
    private parentElement;
    private dialogPopUp;
    private memberTreeView;
    private draggable;
    private handlers;
    menuOption: AggregateMenu;
    private axisField;
    private fieldName;
    private valueFiedDropDownList;
    private index;
    /** Constructor for render module */
    constructor(parent: PivotView | PivotFieldList);
    private renderPivotButton;
    private createButtonText;
    private getTypeStatus;
    private createSummaryType;
    private createMenuOption;
    private createDraggable;
    private createButtonDragIcon;
    private createSortOption;
    private createFilterOption;
    private updateButtontext;
    private updateOlapButtonText;
    private createDragClone;
    private onDragStart;
    private onDragging;
    private onDragStop;
    private isButtonDropped;
    private updateSorting;
    private updateDataSource;
    private updateFiltering;
    private bindDialogEvents;
    private buttonModel;
    private tabSelect;
    private updateDialogButtonEvents;
    private updateCustomFilter;
    private ClearFilter;
    private removeButton;
    private nodeStateModified;
    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
     * @return {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 beforePivotTableRender: string;
/** @hidden */
export  const afterPivotTableRender: string;
/** @hidden */
export  const beforeExport: 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 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 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 contextMenuClick: string;
/** @hidden */
export  const contextMenuOpen: string;
/** @hidden */
export  const fieldListRefreshed: string;
/** @hidden */
export  const conditionalFormatting: string;
/**
 * Specifies pivot internal events
 */
/** @hidden */
export  const initialLoad: string;
/** @hidden */
export  const uiUpdate: string;
/** @hidden */
export  const scroll: 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 initFormatting: 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 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 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_HEADER_CLASS: string;
/** @hidden */
export  const FIELD_LIST_TITLE_CLASS: string;
/** @hidden */
export  const FIELD_LIST_TITLE_CONTENT_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 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 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 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_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 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 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 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 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 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 OLAP_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 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 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_FILTER: string;
/** @hidden */
export  const GROUP_CHART_VALUE_DROPDOWN_DIV: string;
/** @hidden */
export  const GROUP_CHART_VALUE_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 CONDITIONAL_FORMATTING_MENU: string;
//node_modules/@syncfusion/ej2-pivotview/src/common/base/enum.d.ts
/**
 * Specifies common enumerations
 */
/**
 * Defines mode of render. They are
 * * Fixed
 * * Popup
 */
export  type Mode = 
/** Shows field list within a popup dialog */
'Fixed' | 
/** Shows field list in a static position */
'Popup';
export  type EditMode = 
/**  Defines EditMode as Normal */
'Normal' | 
/**  Defines EditMode as Dialog */
'Dialog' | 
/**  Defines EditMode as Batch */
'Batch';
export  type SelectionMode = 
/**  Defines SelectionMode as Cell */
'Cell' | 
/**  Defines SelectionMode as Row */
'Row' | 
/**  Defines SelectionMode as Column */
'Column' | 
/**  Defines SelectionMode for both Row and Column */
'Both';
export  type PdfBorderStyle = 'Solid' | 'Dash' | 'Dot' | 'DashDot' | 'DashDotDot';
export  type ToolbarItems = 'New' | 'Save' | 'SaveAs' | 'Load' | 'Rename' | 'Remove' | 'Grid' | 'Chart' | 'Export' | 'SubTotal' | 'GrandTotal' | 'FieldList' | 'ConditionalFormatting' | 'MDX' | 'NumberFormatting' | 'Formatting';
export  type View = 
/**  Defines the view port as both chart and table */
'Both' | 
/**  Defines the view port as chart */
'Chart' | 
/**  Defines the view port as table */
'Table';
export  type Primary = 
/**  Defines the primary view as chart */
'Chart' | 
/**  Defines the primary view as table */
'Table';
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 StackingColumn series. */
'StackingColumn' | 
/**  Define the StackingArea series. */
'StackingArea' | 
/**  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 StackingArea100 series */
'StackingArea100' | 
/** Define the Bubble Series */
'Bubble' | 
/** Define the Pareto series */
'Pareto' | 
/** Define the Polar series */
'Polar' | 
/** Define the Radar series */
'Radar';
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 default items of context menu.
 */
export  type PivotContextMenuItem = 
/**  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 - 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 PivotGridLine = 
/** 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.
 * * Flow
 * * Box
 */
export  type PivotCellSelectionMode = 
/**  Defines CellSelectionMode as Flow */
'Flow' | 
/**  Defines CellSelectionMode as Box */
'Box' | 
/**  Defines CellSelectionMode as Box with border */
'BoxWithBorder';
/**
 * 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 PivotSelectionType = 
/**  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 PivotCheckboxSelectionType = 
/**  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 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 PivotClipMode = 
/**  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 PivotPrintMode = 
/**  Defines PrintMode as AllPages */
'AllPages' | 
/**  Defines PrintMode as CurrentPage */
'CurrentPage';
/**
 * 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 PivotChartShape = 
/** 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';
/**
 * 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 = 
/** 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 PivotChartErrorBarDirection = 
/** 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 PivotChartErrorBarMode = 
/** Define the Vertical mode. */
'Vertical' | 
/** Define the Horizontal mode. */
'Horizontal' | 
/** Define the Both mode . */
'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 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 legend shape based on series type. */
'SeriesType';
/**
 * 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 = 
/** Define the left alignment. */
'Near' | 
/** Define the center alignment. */
'Center' | 
/** Define the right alignment. */
'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 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 unit of Strip line Size. They are
 * * auto
 * * pixel
 * * year
 * * month
 * * day
 * * hour
 * * minutes
 * * seconds
 */
export  type PivotChartSizeType = 
/**  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 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 at the start. */
'Start' | 
/** Places the strip line text in the middle. */
'Middle' | 
/** 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 over the series elements. */
'Over' | 
/** Places the strip line behind the series elements. */
'Behind';
/**
 * Defines border type for multi level labels.
 * * Rectangle
 * * Brace
 * * WithoutBorder
 * * Without top Border
 * * Without top and bottom border
 * * Curly brace
 */
export  type PivotChartBorderType = 
/** Rectangle */
'Rectangle' | 
/** Brace */
'Brace' | 
/** WithoutBorder */
'WithoutBorder' | 
/** WithoutTopBorder */
'WithoutTopBorder' | 
/** WithoutTopandBottomBorder */
'WithoutTopandBottomBorder' | 
/** CurlyBrace */
'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 = 
/** 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';
/**
 * 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 = 
/** 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 45 degree when it intersect. */
'Rotate45' | 
/** 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 inside to the axis line. */
'Inside' | 
/** Place the ticks or labels outside to the axis line. */
'Outside';
/**
 * 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
 */
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';
//node_modules/@syncfusion/ej2-pivotview/src/common/base/interface.d.ts
/**
 * Interface
 */
export interface LoadEventArgs {
    /** Defines current dataSource */
    dataSourceSettings?: IDataOptions;
    pivotview?: PivotView;
    fieldsType?: IStringIndex;
}
export interface SaveReportArgs {
    /** Defines current dataSource */
    report?: string;
    /** Defines report name to save */
    reportName?: string;
}
export interface FetchReportArgs {
    /** returns the report names from storage */
    reportName?: string[];
}
export interface LoadReportArgs {
    /** Defines current dataSource */
    report?: string;
    /** Defines report name to save */
    reportName?: string;
}
export interface RenameReportArgs {
    /** Defines current dataSource */
    report?: string;
    /** Defines rename of report */
    rename?: string;
    /** Defines report name to save */
    reportName?: string;
}
export interface RemoveReportArgs {
    /** Defines current dataSource */
    report?: string;
    /** Defines report name to save */
    reportName?: string;
}
export interface NewReportArgs {
    /** Defines current dataSource */
    report?: string;
}
export interface ToolbarArgs {
    /** Defines current dataSource */
    customToolbar?: navigations.ItemModel[];
}
export interface EnginePopulatingEventArgs {
    /** Defines current dataSource */
    dataSourceSettings?: IDataOptions;
}
export interface EnginePopulatedEventArgs {
    /** Defines populated pivotvalues */
    dataSourceSettings?: IDataOptions;
    pivotFieldList?: IFieldListOptions;
    pivotValues?: IPivotValues;
}
export interface FieldDroppedEventArgs {
    /** Defines dropped field item */
    droppedField?: IFieldOptions;
    /** Defines current dataSource */
    dataSourceSettings?: IDataOptions;
    /** Defines dropped axis */
    droppedAxis?: string;
}
export interface BeforeExportEventArgs {
    /** Defines exported file name */
    fileName?: string;
    /** Defines header text */
    header?: string;
    /** Defines footer text */
    footer?: string;
    /** Defines pivotValues collections */
    dataCollections?: IPivotValues[];
    /** To disable repeat headers */
    allowRepeatHeader?: boolean;
    /** Defines style */
    style?: PdfTheme;
}
export interface PdfCellRenderArgs {
    /** Defines the style of the current cell. */
    style?: PdfStyle;
    /** Defines the current PDF cell */
    cell?: pdfExport.PdfGridCell;
    /** Defines the current PDF cell */
    pivotCell?: IAxisSet;
}
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;
}
export interface CellClickEventArgs {
    currentCell: Element;
    data: Object;
}
export interface HyperCellClickEventArgs {
    currentCell: Element;
    data: Object;
    cancel: boolean;
}
export interface DrillThroughEventArgs {
    currentTarget: Element;
    currentCell: IAxisSet;
    rawData: IDataSet[];
    rowHeaders: string;
    columnHeaders: string;
    value: string;
}
export interface CellSelectedObject {
    currentCell: IAxisSet;
    value: number | string;
    rowHeaders: string | number | Date;
    columnHeaders: string | number | Date;
    measure: string;
}
export interface PivotCellSelectedEventArgs extends grids.CellSelectingEventArgs {
    /** Defines the selected cells objects. */
    selectedCellsInfo?: CellSelectedObject[];
    pivotValues?: IPivotValues;
    currentTarget?: Element;
    cancel?: boolean;
    target?: Element;
    isCellClick?: boolean;
    data?: IAxisSet;
}
export interface DrillArgs {
    drillInfo?: IDrilledItem;
    pivotview?: PivotView;
}
export interface PivotColumn {
    allowReordering: boolean;
    allowResizing: boolean;
    headerText: string;
    width: string | number;
}
export interface ColumnRenderEventArgs {
    columns: PivotColumn[];
    dataSourceSettings: IDataOptions;
}
export interface BeginDrillThroughEventArgs {
    cellInfo: DrillThroughEventArgs;
    gridObj: grids.Grid;
    type: string;
}
export interface ChartSeriesCreatedEventArgs {
    series: charts.SeriesModel[];
    cancel: boolean;
}
/**
 * Interface for a class SelectionSettings
 */
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
     */
    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.
     *
     * > 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
     */
    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;
}
/**
 * @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;
}
export interface ExcelRow {
    /**  Defines the index for cells */
    index?: number;
    /**  Defines the cells in a row */
    cells?: ExcelCell[];
}
export interface ExcelColumn {
    /**  Defines the index for cells */
    index?: number;
    /**  Defines the width of each column */
    width: number;
}
export interface ExcelStyles extends grids.ExcelStyle {
    /** Defines the cell number format */
    numberFormat?: string;
}
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;
}
export interface PdfTheme {
    /** Defines the style of header content. */
    header?: PdfThemeStyle;
    /** Defines the theme style of record content. */
    record?: PdfThemeStyle;
}
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;
}
export interface PdfBorder {
    /** Defines the border color */
    color?: string;
    /** Defines the border width */
    width?: number;
    /** Defines the border dash style */
    dashStyle?: PdfBorderStyle;
}
export interface CellTemplateArgs {
    /** Defines the cell element */
    targetCell?: HTMLElement;
}
export interface AggregateEventArgs {
    fieldName?: string;
    row?: IAxisSet;
    column?: IAxisSet;
    value?: number;
    cellSets?: IDataSet[];
    rowCellType?: string;
    columnCellType?: string;
    aggregateType?: SummaryTypes;
    skipFormatting?: boolean;
}
export interface QueryCellInfoEventArgs {
    /** Defines the row data associated with this cell. */
    data?: Object;
    /** Defines the cell element. */
    cell?: Element;
    /** Defines the column object associated with this cell. */
    column?: grids.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;
    /** Define the pivot component object */
    pivotview?: PivotView;
}
export interface FieldListRefreshedEventArgs {
    dataSourceSettings?: IDataOptions;
    pivotValues?: IPivotValues;
}
//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]: number;
    };
    /** @hidden */
    searchTreeItems: {
        [key: string]: Object;
    }[];
    /** @hidden */
    editorLabelElement: HTMLLabelElement;
    /** @hidden */
    isDataOverflow: boolean;
    /** @hidden */
    isDateField: boolean;
    /** @hidden */
    dataType: 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?
     * @hidden
     */
    constructor(control: CommonArgs);
    /**
     * To destroy the groupingbar
     * @return {void}
     * @hidden
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-pivotview/src/common/calculatedfield/calculated-field.d.ts
/** @hidden */
export  class CalculatedField implements IAction {
    parent: PivotView | PivotFieldList;
    /** @hidden */
    isFormula: 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 keyboardEvents;
    private isEdit;
    private currentFieldName;
    private confirmPopUp;
    private field;
    /** Constructor for calculatedfield module */
    constructor(parent: PivotView | PivotFieldList);
    /**
     * To get module name.
     * @returns string
     */
    protected getModuleName(): string;
    private keyActionHandler;
    /**
     * Trigger while click treeview icon.
     * @param  {MouseEvent} e
     * @returns void
     */
    private fieldClickHandler;
    private clearFormula;
    /**
     * To display context menu.
     * @param  {HTMLElement} node
     * @returns void
     */
    private displayMenu;
    /**
     * 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 addFormula;
    /** @hidden */
    showError(): void;
    /**
     * To get treeview data
     * @param  {PivotGrid|PivotFieldList} parent
     * @returns Object
     */
    private getFieldListData;
    /**
     * Triggers before menu opens.
     * @param  {BeforeOpenCloseMenuEventArgs} args
     * @returns void
     */
    private beforeMenuOpen;
    /**
     * 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;
    /**
     * To render dialog elements.
     * @returns void
     */
    private renderDialogElements;
    /**
     * To create calculated field adaptive layout.
     * @returns void
     */
    private renderAdaptiveLayout;
    /**
     * To create treeview.
     * @returns void
     */
    private createOlapDropElements;
    /**
     * 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;
    /**
     * 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(): void;
    /**
     * To create calculated field desktop layout.
     * @returns void
     */
    private renderDialogLayout;
    /**
     * Creates the error dialog for the unexpected action done.
     * @method createConfirmDialog
     * @return {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 */
    constructor(parent: PivotView);
    /**
     * To get module name.
     * @returns string
     */
    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.
     * @returns boolean
     * @hidden
     */
    isHex(h: string): boolean;
    /**
     * To convert hex to RGB.
     * @returns { r: number, g: number, b: number } | null
     * @hidden
     */
    hexToRgb(hex: string): {
        r: number;
        g: number;
        b: number;
    } | null;
    /**
     * To convert color to hex.
     * @returns string
     * @hidden
     */
    colourNameToHex(colour: string): string;
    /**
     * 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;
    private pivotButton;
    /** Constructor for render module */
    constructor(parent: PivotView);
    /**
     * Initialize the 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
     */
    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.
     * @private
     */
    protected getModuleName(): string;
    private renderLayout;
    private appendToElement;
    /**
     * @hidden
     */
    refreshUI(): void;
    /** @hidden */
    alignIcon(): void;
    /**
     * @hidden
     */
    setGridRowWidth(): void;
    private setColWidth;
    private wireEvent;
    private unWireEvent;
    private dropIndicatorUpdate;
    private tapHoldHandler;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the groupingbar
     * @return {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 currentMenu;
    private valueDialog;
    /**
     * 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 beforeMenuOpen;
    /** @hidden */
    createValueSettingsDialog(target: HTMLElement, parentElement: HTMLElement): void;
    private createFieldOptions;
    private selectOptionInContextMenu;
    private updateDataSource;
    private updateValueSettings;
    private removeDialog;
    /**
     * To destroy the pivot button event listener
     * @return {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
     * @return {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;
    private isUpdated;
    private gridIndexObjects;
    private engine;
    private gridData;
    /**
     * Constructor for the dialog action.
     * @hidden
     */
    constructor(parent?: PivotView);
    /** @hidden */
    showDrillThroughDialog(eventArgs: DrillThroughEventArgs): void;
    private removeDrillThroughDialog;
    private createDrillThroughGrid;
    private frameGridColumns;
    private formatData;
    private dataWithPrimarykey;
}
//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.
     * @method createErrorDialog
     * @return {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.
     * @method createFilterDialog
     * @return {void}
     * @hidden
     */
    createFilterDialog(treeData: {
        [key: string]: Object;
    }[], fieldName: string, fieldCaption: string, target: HTMLElement): void;
    private createTreeView;
    private createLevelWrapper;
    private searchOlapTreeView;
    private nodeCheck;
    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;
    /**
     * To close filter dialog.
     * @hidden
     */
    closeFilterDialog(): void;
    private removeFilterDialog;
}
//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;
    constructor(parent?: PivotView);
    /**
     * To get module name.
     * @returns string
     */
    protected getModuleName(): string;
    /**
     * To show Number Formatting dialog.
     * @returns void
     */
    showNumberFormattingDialog(): void;
    private getDialogContent;
    private renderControls;
    private valueChange;
    private dropDownChange;
    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/toolbar.d.ts
/**
 * Module for Toolbar
 */
/** @hidden */
export  class Toolbar {
    /** @hidden */
    action: string;
    /** @hidden */
    toolbar: navigations.Toolbar;
    private parent;
    private dialog;
    private mdxDialog;
    private reportList;
    private currentReport;
    private confirmPopUp;
    private chartMenu;
    private exportMenu;
    private subTotalMenu;
    private grandTotalMenu;
    private formattingMenu;
    private dropArgs;
    constructor(parent: PivotView);
    /**
     * It returns the Module name.
     * @returns string
     * @hidden
     */
    getModuleName(): string;
    private createToolbar;
    private fetchReports;
    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;
    private create;
    private updateExportMenu;
    private updateSubtotalSelection;
    private updateGrandtotalSelection;
    private updateReportList;
    private menuItemClick;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * To refresh the toolbar
     * @return {void}
     * @hidden
     */
    refreshToolbar(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the toolbar
     * @return {void}
     * @hidden
     */
    destroy(): void;
}
//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 chartSettings;
    private element;
    private measureList;
    private headerColl;
    private maxLevel;
    private columnGroupObject;
    private persistSettings;
    private fieldPosition;
    private measurePos;
    private measuresNames;
    /** @hidden */
    calculatedWidth: number;
    /** @hidden */
    currentMeasure: string;
    /** @hidden */
    engineModule: PivotEngine | OlapEngine;
    /** @hidden */
    parent: PivotView;
    /**
     * Get component name.
     * @returns string
     * @private
     */
    getModuleName(): string;
    loadChart(parent: PivotView, chartSettings: ChartSettingsModel): void;
    /**
     * Refreshing chart based on the updated chartSettings.
     * @returns void
     */
    refreshChart(): void;
    private frameObjectWithKeys;
    private bindChart;
    private frameAxesWithRows;
    private getFormat;
    private getColumnTotalIndex;
    private groupHierarchyWithLevels;
    private frameMultiLevelLabels;
    private getZoomFactor;
    private configTooltipSettings;
    private configLegendSettings;
    private configXAxis;
    private configZoomSettings;
    private tooltipRender;
    private loaded;
    private axisLabelRender;
    private multiLevelLabelClick;
    /** @hidden */
    onDrill(args: charts.IMultiLevelLabelClickEventArgs): void;
    private load;
    private resized;
    /**
     * 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{
    /**
     * It allows to feed raw data, dataSource and properties to customize the data source
     */
    dataSourceSettings?: DataSourceSettingsModel;
    /**
     * It allows to render Pivot Field List at fixed or popup mode.
     * The possible values are:
     * @default 'Popup'
     */
    renderMode?: Mode;
    /**
     * Specifies the `target` element where the Pivot Field List dialog should be displayed.
     * If the user set the specific `target` element for Pivot Field List, it will be positioned based on the `target`.
     * The targetID should works only when the Pivot Field List is in 'Dynamic' mode.
     * @default null
     */
    target?: HTMLElement | string;
    /**
     * Specifies the CSS class name to be added for Pivot Field List element.
     * User can add single or multiple CSS classes.
     * @default ''
     */
    cssClass?: string;
    /**
     * It allows to enable calculated field in Pivot Field List.
     * @default false
     */
    allowCalculatedField?: boolean;
    /**
     * It shows a common button for value fields to move together in column or row axis
     * @default false
     */
    showValuesButton?: boolean;
    /**
     * If `allowDeferLayoutUpdate` is set to true, then it will enable defer layout update to pivotfieldlist.
     * @default false
     */
    allowDeferLayoutUpdate?: boolean;
    /**
     * It allows to set the maximum number of nodes to be displayed in the member editor.
     * @default 1000    
     */
    maxNodeLimitInMemberEditor?: number;
    /**
     * If `loadOnDemandInMemberEditor` is set to false, 
     * then it will load all the level members from cube when doing member filtering initially.
     * Note: This may cause performance lag based on members count that fetch from cube 
     * while the member editor pop-up opens for the first time alone.
     * @default true    
     */
    loadOnDemandInMemberEditor?: boolean;
    /**
     * It allows to customize the spinner.
     * @default null
     */
    spinnerTemplate?: string;
    /**
     * This allows any customization of Pivot Field List properties before rendering.
     * @event
     * @blazorproperty 'OnLoad'
     * @deprecated
     */
    load?: base.EmitType<LoadEventArgs>;
    /**
     * This allows any customization of Pivot Field List properties before pivotengine populate.
     * @event
     * @blazorproperty 'EnginePopulating'
     * @deprecated
     */
    enginePopulating?: base.EmitType<EnginePopulatingEventArgs>;
    /**
     * This allows any customization of Pivot Field List properties before pivotengine populate.
     * @event
     * @blazorproperty 'EnginePopulated'
     * @deprecated
     */
    enginePopulated?: base.EmitType<EnginePopulatedEventArgs>;
    /**
     * Triggers when a field getting dropped into any axis.
     * @event
     * @blazorproperty 'FieldDropped'
     * @deprecated
     */
    onFieldDropped?: base.EmitType<FieldDroppedEventArgs>;
    /**
     * This allows to change the cell value.
     * @event
     * @deprecated
     */
    aggregateCellInfo?: base.EmitType<AggregateEventArgs>;
    /**
     * Triggers when data source is populated in the Pivot Field List.
     * @event
     */
    dataBound?: base.EmitType<Object>;
    /**
     * Triggers when data source is created in the Pivot Field List.
     * @event
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when data source is destroyed in the Pivot Field List.
     * @event
     */
    destroyed?: base.EmitType<Object>;
}
//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 */
    isDragging: boolean;
    /** @hidden */
    fieldListSpinnerElement: Element;
    /** @hidden */
    clonedDataSource: DataSourceSettingsModel;
    /** @hidden */
    clonedFieldList: IFieldListOptions | IOlapFieldListOptions;
    isRequiredUpdate: boolean;
    /** @hidden */
    clonedDataSet: IDataSet[];
    /** @hidden */
    clonedReport: IDataOptions;
    /** @hidden */
    lastSortInfo: ISort;
    /** @hidden */
    lastFilterInfo: IFilter;
    /** @hidden */
    lastAggregationInfo: IFieldOptions;
    /** @hidden */
    lastCalcFieldInfo: ICalculatedFields;
    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;
    /**
     * It allows to feed raw data, dataSource and properties to customize the data source
     */
    dataSourceSettings: DataSourceSettingsModel;
    /**
     * It allows to render Pivot Field List at fixed or popup mode.
     * The possible values are:
     * @default 'Popup'
     */
    renderMode: Mode;
    /**
     * Specifies the `target` element where the Pivot Field List dialog should be displayed.
     * If the user set the specific `target` element for Pivot Field List, it will be positioned based on the `target`.
     * The targetID should works only when the Pivot Field List is in 'Dynamic' mode.
     * @default null
     */
    target: HTMLElement | string;
    /**
     * Specifies the CSS class name to be added for Pivot Field List element.
     * User can add single or multiple CSS classes.
     * @default ''
     */
    cssClass: string;
    /**
     * It allows to enable calculated field in Pivot Field List.
     * @default false
     */
    allowCalculatedField: boolean;
    /**
     * It shows a common button for value fields to move together in column or row axis
     * @default false
     */
    showValuesButton: boolean;
    /**
     * If `allowDeferLayoutUpdate` is set to true, then it will enable defer layout update to pivotfieldlist.
     * @default false
     */
    allowDeferLayoutUpdate: boolean;
    /**
     * It allows to set the maximum number of nodes to be displayed in the member editor.
     * @default 1000
     */
    maxNodeLimitInMemberEditor: number;
    /**
     * If `loadOnDemandInMemberEditor` is set to false,
     * then it will load all the level members from cube when doing member filtering initially.
     * Note: This may cause performance lag based on members count that fetch from cube
     * while the member editor pop-up opens for the first time alone.
     * @default true
     */
    loadOnDemandInMemberEditor: boolean;
    /**
     * It allows to customize the spinner.
     * @default null
     */
    spinnerTemplate: string;
    /**
     * This allows any customization of Pivot Field List properties before rendering.
     * @event
     * @blazorproperty 'OnLoad'
     * @deprecated
     */
    load: base.EmitType<LoadEventArgs>;
    /**
     * This allows any customization of Pivot Field List properties before pivotengine populate.
     * @event
     * @blazorproperty 'EnginePopulating'
     * @deprecated
     */
    enginePopulating: base.EmitType<EnginePopulatingEventArgs>;
    /**
     * This allows any customization of Pivot Field List properties before pivotengine populate.
     * @event
     * @blazorproperty 'EnginePopulated'
     * @deprecated
     */
    enginePopulated: base.EmitType<EnginePopulatedEventArgs>;
    /**
     * Triggers when a field getting dropped into any axis.
     * @event
     * @blazorproperty 'FieldDropped'
     * @deprecated
     */
    onFieldDropped: base.EmitType<FieldDroppedEventArgs>;
    /**
     * This allows to change the cell value.
     * @event
     * @deprecated
     */
    aggregateCellInfo: base.EmitType<AggregateEventArgs>;
    /**
     * Triggers when data source is populated in the Pivot Field List.
     * @event
     */
    dataBound: base.EmitType<Object>;
    /**
     * Triggers when data source is created in the Pivot Field List.
     * @event
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when data source is destroyed in the Pivot Field List.
     * @event
     */
    destroyed: base.EmitType<Object>;
    /**
     * Constructor for creating the widget
     * @param  {PivotFieldListModel} options?
     * @param  {string|HTMLButtonElement} element?
     */
    constructor(options?: PivotFieldListModel, element?: string | HTMLElement);
    /**
     * To provide the array of modules needed for control rendering
     * @return {base.ModuleDeclaration[]}
     * @hidden
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * For internal use only - Initialize the event handler;
     * @private
     */
    protected preRender(): void;
    private frameCustomProperties;
    /**
     * Initialize the control rendering
     * @returns void
     * @private
     */
    render(): void;
    /**
     * 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.
     * @return {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 getData;
    private executeQuery;
    private fieldListRender;
    private getFieldCaption;
    private getFields;
    /**
     * Updates the PivotEngine using dataSource from Pivot Field List component.
     * @method updateDataSource
     * @return {void}
     * @hidden
     */
    updateDataSource(isTreeViewRefresh?: boolean, isEngineRefresh?: boolean): void;
    private updateOlapDataSource;
    /**
     * Updates the Pivot Field List component using dataSource from PivotView component.
     * @method updateControl
     * @return {void}
     */
    update(control: PivotView): void;
    /**
     * Updates the PivotView component using dataSource from Pivot Field List component.
     * @method refreshTargetControl
     * @return {void}
     */
    updateView(control: PivotView): void;
    /**
     * Called internally to trigger populate event.
     * @hidden
     */
    triggerPopulateEvent(): void;
    /**
     * Destroys the Field Table component.
     * @method destroy
     * @return {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;
    private pivotButton;
    /** 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 */
    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;
    /**
     * Called internally if any of the field added to axis.
     * @hidden
     */
    updateDataSource(selectedNodes: string[]): void;
    private onDeferUpdateClick;
    private renderAdaptiveLayout;
    private tabSelect;
    private createCalculatedButton;
    private createAddButton;
    private createAxisTable;
    private showCalculatedField;
    private showFieldListDialog;
    private onShowFieldList;
    private onCloseFieldList;
    private removeFieldListIcon;
    private keyPress;
    private wireDialogEvent;
    private unWireDialogEvent;
}
//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 */
    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;
    /** Constructor for render module */
    constructor(parent: PivotFieldList);
    /**
     * Initialize the field list tree rendering
     * @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 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
     * @return {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.
     * @hidden
     */
    constructor(parent?: PivotView);
    /**
     * It returns the Module name.
     * @returns string
     * @hidden
     */
    getModuleName(): string;
    private addInternalEvents;
    private wireEvents;
    private unWireEvents;
    private mouseClickHandler;
    private executeDrillThrough;
}
//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;
    /**
     * Constructor for the PivotGrid Excel Export module.
     * @hidden
     */
    constructor(parent?: PivotView);
    /**
     * For internal use only - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * Method to perform excel export.
     * @hidden
     */
    exportToExcel(type: string): 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 {
    private parent;
    private keyConfigs;
    private pivotViewKeyboardModule;
    /**
     * Constructor
     */
    constructor(parent: PivotView);
    private keyActionHandler;
    private getNextButton;
    private processTab;
    private processEnter;
    private clearSelection;
    private processSelection;
    private getParentElement;
    /**
     * To destroy the keyboard module.
     * @return {void}
     * @private
     */
    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.
     * @hidden
     */
    constructor(parent?: PivotView);
    /**
     * For internal use only - Get the module name.
     * @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(): 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;
    /** @hidden */
    direction: string;
    /**
     * Constructor for PivotView scrolling.
     * @hidden
     */
    constructor(parent?: PivotView);
    /**
     * It returns the Module name.
     * @returns string
     * @hidden
     */
    getModuleName(): string;
    private addInternalEvents;
    private wireEvents;
    private onWheelScroll;
    private getPointXY;
    private onTouchScroll;
    private update;
    private setPageXY;
    private common;
    private onHorizondalScroll;
    private onVerticalScroll;
    /**
     * @hidden
     */
    removeInternalEvents(): void;
    /**
     * To destroy the virtualscrolling event listener
     * @return {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 {
    /**
     * It allows to set the visibility of filter icon in GroupingBar button
     * @default true     
     */
    showFilterIcon?: boolean;
    /**
     * It allows to set the visibility of sort icon in GroupingBar button
     * @default true     
     */
    showSortIcon?: boolean;
    /**
     * It allows to set the visibility of base.remove icon in GroupingBar button
     * @default true     
     */
    showRemoveIcon?: boolean;
    /**
     * It allows to set the visibility of drop down icon in GroupingBar button
     * @default true     
     */
    showValueTypeIcon?: boolean;
    /**
     * It allows to set the visibility of grouping bar in desired view port
     * @default Both
     */
    displayMode?: View;
    /**
     * It allows to enable/disable the drag and drop option to GroupingBar buttons. 
     * @default true     
     */
    allowDragAndDrop?: boolean;
}
/**
 * Interface for a class CellEditSettings
 */
export interface CellEditSettingsModel {
    /**
     * If `allowAdding` is set to true, new records can be added to the grids.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 grids.Grid.
     * @default false
     */
    allowDeleting?: boolean;
    /**
     * If `allowCommandColumns` is set to true, an additional column appended to perform CRUD operations in grids.Grid.
     * @default false
     */
    allowCommandColumns?: boolean;
    /**
     * Defines the mode to edit. The available editing modes are:
     * * Normal
     * * Dialog
     * * Batch
     * @default Normal
     */
    mode?: EditMode;
    /**
     * If `allowEditOnDblClick` is set to false, grids.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;
}
/**
 * Interface for a class ConditionalSettings
 */
export interface ConditionalSettingsModel {
    /**
     * It allows to set the field name to get visibility of hyperlink based on condition.
     */
    measure?: string;
    /**
     * It allows to set the label name to get visibility of hyperlink based on condition.
     */
    label?: string;
    /**
     * It allows to set the filter conditions to the field.
     * @default NotEquals
     */
    conditions?: Condition;
    /**
     * It allows to set the value1 get visibility of hyperlink.
     */
    value1?: number;
    /**
     * It allows to set the value2 to get visibility of hyperlink.
     */
    value2?: number;
}
/**
 * Interface for a class HyperlinkSettings
 */
export interface HyperlinkSettingsModel {
    /**
     * It allows to set the visibility of hyperlink in all cells
     * @default false     
     */
    showHyperlink?: boolean;
    /**
     * It allows to set the visibility of hyperlink in row headers
     * @default false     
     */
    showRowHeaderHyperlink?: boolean;
    /**
     * It allows to set the visibility of hyperlink in column headers
     * @default false     
     */
    showColumnHeaderHyperlink?: boolean;
    /**
     * It allows to set the visibility of hyperlink in value cells
     * @default false     
     */
    showValueCellHyperlink?: boolean;
    /**
     * It allows to set the visibility of hyperlink in summary cells
     * @default false     
     */
    showSummaryCellHyperlink?: boolean;
    /**
     * It allows to set the visibility of hyperlink based on condition
     * @default []
     */
    conditionalSettings?: ConditionalSettingsModel[];
    /**
     * It allows to set the visibility of hyperlink based on header text
     */
    headerText?: string;
    /**
     * It allows to set the custom class name for hyperlink options
     * @default ''
     */
    cssClass?: string;
}
/**
 * Interface for a class DisplayOption
 */
export interface DisplayOptionModel {
    /**
     * It allows the user to switch the view port as table or chart or both
     * @default Table     
     */
    view?: View;
    /**
     * It allows the user to switch the primary view as table or chart
     * @default Table     
     */
    primary?: Primary;
}
/**
 * Interface for a class PivotView
 */
export interface PivotViewModel extends base.ComponentModel{
    /**
     * Defines the currencyCode format of the Pivot widget columns
     * @private
     */
    currencyCode?: string;
    /**
     * It allows to render pivotfieldlist.
     * @default false
     */
    showFieldList?: boolean;
    /**
     * Configures the features settings of Pivot widget. 
     */
    gridSettings?: GridSettingsModel;
    /**
     * Configures the features settings of Pivot widget. 
     */
    chartSettings?: ChartSettingsModel;
    /**
     * Configures the settings of GroupingBar. 
     */
    groupingBarSettings?: GroupingBarSettingsModel;
    /**
     * Configures the settings of hyperlink settings. 
     */
    hyperlinkSettings?: HyperlinkSettingsModel;
    /**
     * It allows the user to configure the pivot report as per the user need.
     */
    dataSourceSettings?: DataSourceSettingsModel;
    /**
     * Configures the edit behavior of the Pivot grids.Grid.
     * @default { allowAdding: false, allowEditing: false, allowDeleting: false, allowCommandColumns: false, 
     * mode:'Normal', allowEditOnDblClick: true, showConfirmDialog: true, showDeleteConfirmDialog: false }
     */
    editSettings?: CellEditSettingsModel;
    /**
     * Configures the settings of displayOption. 
     */
    displayOption?: DisplayOptionModel;
    /**
     * It holds the pivot engine data which renders the Pivot widget.
     */
    pivotValues?: IPivotValues;
    /**
     * Enables the display of GroupingBar allowing you to filter, sort, and base.remove fields obtained from the datasource.
     * @default false
     */
    showGroupingBar?: boolean;
    /**
     * Allows to display the popups.Tooltip on hovering value cells in pivot grid.
     * @default true
     */
    showTooltip?: boolean;
    /**
     * It allows to enable/disable toolbar in pivot table.
     * @default false     
     */
    showToolbar?: boolean;
    /**
     * It allows to set toolbar items in pivot table.
     * @default []
     */
    toolbar?: ToolbarItems[];
    /**
     * It shows a common button for value fields to move together in column or row axis
     * @default false
     */
    showValuesButton?: boolean;
    /**
     * It allows to enable calculated field in PivotView.
     * @default false
     */
    allowCalculatedField?: boolean;
    /**
     * It allows to enable Value Sorting in PivotView.
     * @default false
     */
    enableValueSorting?: boolean;
    /**
     * It allows to enable Conditional Formatting in PivotView.
     * @default false
     */
    allowConditionalFormatting?: boolean;
    /**
     * It allows to enable number formatting popup in pivot table.
     * @default false
     */
    allowNumberFormatting?: boolean;
    /**
     * Pivot widget. (Note change all occurrences) 
     * @default 'auto'
     */
    height?: string | number;
    /**
     * It allows to set the width of Pivot widget. 
     * @default 'auto'
     */
    width?: string | number;
    /**
     * If `allowExcelExport` is set to true, then it will allow the user to export pivotview to Excel file.
     * @default false    
     */
    allowExcelExport?: boolean;
    /**
     * If `enableVirtualization` set to true, then the grids.Grid will render only the rows and the columns visible within the view-port
     * and load subsequent rows and columns on vertical scrolling. This helps to load large dataset in Pivot grids.Grid.
     * @default false
     */
    enableVirtualization?: boolean;
    /**
     * If `allowDrillThrough` set to true, then you can view the raw items that are used to create a 
     * specified value cell in the pivot grid.
     * @default false
     */
    allowDrillThrough?: boolean;
    /**
     * If `allowPdfExport` is set to true, then it will allow the user to export pivotview to Pdf file.
     * @default false    
     */
    allowPdfExport?: boolean;
    /**
     * If `allowDeferLayoutUpdate` is set to true, then it will enable defer layout update to pivotview.
     * @default false
     */
    allowDeferLayoutUpdate?: boolean;
    /**
     * It allows to set the maximum number of nodes to be displayed in the member editor.
     * @default 1000    
     */
    maxNodeLimitInMemberEditor?: number;
    /**
     * It allows to set the maximum number of rows to be return while drill through.
     * @default 10000 
     */
    maxRowsInDrillThrough?: number;
    /**
     * If `loadOnDemandInMemberEditor` is set to false, 
     * then it will load all the level members from cube when doing member filtering initially.
     * Note: This may cause performance lag based on members count that fetch from cube 
     * while the member editor pop-up opens for the first time alone.
     * @default true    
     */
    loadOnDemandInMemberEditor?: boolean;
    /**
     * The template option which is used to render the pivot cells on the pivotview. Here, the template accepts either
     *  the string or HTMLElement as template design and then the parsed design is displayed onto the pivot cells.
     * @default null
     */
    cellTemplate?: string;
    /**
     * It allows to customize the spinner.
     * @default null
     */
    spinnerTemplate?: string;
    /**
     * @hidden
     * @blazorproperty 'QueryCellInfo'
     */
    queryCellInfo?: base.EmitType<grids.QueryCellInfoEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'HeaderCellInfo'
     */
    headerCellInfo?: base.EmitType<grids.HeaderCellInfoEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'Resizing'
     */
    resizing?: base.EmitType<grids.ResizeArgs>;
    /**
     * @hidden
     * @blazorproperty 'ResizeStopped'
     */
    resizeStop?: base.EmitType<grids.ResizeArgs>;
    /**
     * @hidden
     * @blazorproperty 'PdfHeaderQueryCellInfo'
     */
    pdfHeaderQueryCellInfo?: base.EmitType<grids.PdfHeaderQueryCellInfoEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'PdfQueryCellInfo'
     */
    pdfQueryCellInfo?: base.EmitType<grids.PdfQueryCellInfoEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'ExcelHeaderQueryCellInfo'
     */
    excelHeaderQueryCellInfo?: base.EmitType<grids.ExcelHeaderQueryCellInfoEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'ExcelQueryCellInfo'
     */
    excelQueryCellInfo?: base.EmitType<grids.ExcelQueryCellInfoEventArgs>;
    /**
    columnDragStart?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
    columnDrag?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
    columnDrop?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'OnColumnsRender'
     */
    beforeColumnsRender?: base.EmitType<ColumnRenderEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'Selected'
     */
    selected?: base.EmitType<grids.CellSelectEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'CellDeselected'
     */
    cellDeselected?: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'RowSelected'
     */
    rowSelected?: base.EmitType<grids.RowSelectEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'RowDeselected'
     */
    rowDeselected?: base.EmitType<grids.RowDeselectEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'ChartTooltipRendered'
     */
    chartTooltipRender?: base.EmitType<charts.ITooltipRenderEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'ChartLoaded'
     */
    chartLoaded?: base.EmitType<charts.ILoadedEventArgs>;
    /**
    chartLoad?: base.EmitType<charts.ILoadedEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'ChartResized'
     */
    chartResized?: base.EmitType<charts.IResizeEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'ChartAxisLabelRender'
     * @deprecated
     */
    chartAxisLabelRender?: base.EmitType<charts.IAxisLabelRenderEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'ContextMenuItemClicked'
     * @deprecated
     */
    contextMenuClick?: base.EmitType<grids.ContextMenuClickEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'ContextMenuOpened'
     * @deprecated
     */
    contextMenuOpen?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * This allows any customization of Pivot cell style while  PDF exporting.
     * @event
     * @blazorproperty 'PdfCellRender'
     * @deprecated
     */
    onPdfCellRender?: base.EmitType<PdfCellRenderArgs>;
    /**
     * This allows to save the report in any storage.
     * @event
     * @deprecated
     */
    saveReport?: base.EmitType<SaveReportArgs>;
    /**
     * This allows to fetch the report names from storage.
     * @event
     * @blazorproperty 'FetchReport'
     * @deprecated
     */
    fetchReport?: base.EmitType<FetchReportArgs>;
    /**
     * This allows to load the report from storage.
     * @event
     * @blazorproperty 'LoadReport'
     * @deprecated
     */
    loadReport?: base.EmitType<LoadReportArgs>;
    /**
     * This allows to rename the report.
     * @event
     * @deprecated
     */
    renameReport?: base.EmitType<RenameReportArgs>;
    /**
     * This allows to base.remove the report from storage.
     * @event
     * @deprecated
     */
    removeReport?: base.EmitType<RemoveReportArgs>;
    /**
     * This allows to set the new report.
     * @event
     * @deprecated
     */
    newReport?: base.EmitType<NewReportArgs>;
    /**
     * This allows to change the toolbar items.
     * @event
     * @blazorproperty 'ToolbarRendered'
     * @deprecated
     */
    toolbarRender?: base.EmitType<ToolbarArgs>;
    /**
     * This allows to change the toolbar items.
     * @event
     * @blazorproperty 'OnToolbarClick'
     * @deprecated
     */
    toolbarClick?: base.EmitType<navigations.ClickEventArgs>;
    /**
     * This allows any customization of PivotView properties on initial rendering.
     * @event
     * @blazorproperty 'OnLoad'
     * @deprecated
     */
    load?: base.EmitType<LoadEventArgs>;
    /**
     * Triggers before the pivot engine starts to populate and allows to customize the pivot datasource settings. 
     * @event
     * @blazorproperty 'EnginePopulating'
     * @deprecated
     */
    enginePopulating?: base.EmitType<EnginePopulatingEventArgs>;
    /**
     * Triggers after the pivot engine populated and allows to customize the pivot widget.
     * @event
     * @blazorproperty 'EnginePopulated'
     * @deprecated
     */
    enginePopulated?: base.EmitType<EnginePopulatedEventArgs>;
    /**
     * Triggers when a field getting dropped into any axis.
     * @event
     * @blazorproperty 'FieldDropped'
     * @deprecated
     */
    onFieldDropped?: base.EmitType<FieldDroppedEventArgs>;
    /**
     * Triggers when data source is populated in the Pivot View.
     * @event
     */
    dataBound?: base.EmitType<Object>;
    /**
     * Triggers when data source is created in the Pivot View.
     * @event
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when data source is destroyed in the Pivot View.
     * @event
     */
    destroyed?: base.EmitType<Object>;
    /**
     * This allows to set properties for exporting.
     * @event
     * @blazorproperty 'OnExport'
     * @deprecated
     */
    beforeExport?: base.EmitType<BeforeExportEventArgs>;
    /**
     * This allows to do changes before conditional formatting apply.
     * @event
     */
    conditionalFormatting?: base.EmitType<IConditionalFormatSettings>;
    /**
     * Triggers when cell is clicked in the Pivot widget.
     * @event
     * @deprecated
     */
    cellClick?: base.EmitType<CellClickEventArgs>;
    /**
     * Triggers when value cell is clicked in the Pivot widget on Drill-Through.
     * @event
     * @blazorproperty 'DrillThrough'
     * @deprecated
     */
    drillThrough?: base.EmitType<DrillThroughEventArgs>;
    /**
     * Triggers when value cell is clicked in the Pivot widget on Editing.
     * @event
     * @blazorproperty 'BeginDrillThrough'
     * @deprecated
     */
    beginDrillThrough?: base.EmitType<BeginDrillThroughEventArgs>;
    /**
     * Triggers when hyperlink cell is clicked in the Pivot widget.
     * @event
     * @blazorproperty 'HyperlinkCellClicked'
     */
    hyperlinkCellClick?: base.EmitType<HyperCellClickEventArgs>;
    /**
     * Triggers before cell got selected in Pivot widget.
     * @event
     * @blazorproperty 'CellSelecting'
     */
    cellSelecting?: base.EmitType<PivotCellSelectedEventArgs>;
    /**
     * Triggers before drill down/ drill up Pivot widget.
     * @event
     * @deprecated
     */
    drill?: base.EmitType<DrillArgs>;
    /**
     * Triggers when cell got selected in Pivot widget.
     * @event
     * @blazorproperty 'CellSelected'
     * @deprecated
     */
    cellSelected?: base.EmitType<PivotCellSelectedEventArgs>;
    /**
     * Triggers when chart series are created.
     * @event
     * @blazorproperty 'ChartSeriesCreated'
     * @deprecated
     */
    chartSeriesCreated?: base.EmitType<ChartSeriesCreatedEventArgs>;
    /**
     * This allows to change the cell value.
     * @event
     * @blazorproperty 'AggregateCellInfo'
     * @deprecated
     */
    aggregateCellInfo?: base.EmitType<AggregateEventArgs>;
    /**
     * This allows to identify each field list update.
     * @event
     * @blazorproperty 'FieldListRefreshed'
     * @deprecated
     */
    fieldListRefreshed?: base.EmitType<FieldListRefreshedEventArgs>;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/base/pivotview.d.ts
/**
 * It holds the settings of Grouping Bar.
 */
export  class GroupingBarSettings extends base.ChildProperty<GroupingBarSettings> {
    /**
     * It allows to set the visibility of filter icon in GroupingBar button
     * @default true
     */
    showFilterIcon: boolean;
    /**
     * It allows to set the visibility of sort icon in GroupingBar button
     * @default true
     */
    showSortIcon: boolean;
    /**
     * It allows to set the visibility of remove icon in GroupingBar button
     * @default true
     */
    showRemoveIcon: boolean;
    /**
     * It allows to set the visibility of drop down icon in GroupingBar button
     * @default true
     */
    showValueTypeIcon: boolean;
    /**
     * It allows to set the visibility of grouping bar in desired view port
     * @default Both
     */
    displayMode: View;
    /**
     * It allows to enable/disable the drag and drop option to GroupingBar buttons.
     * @default true
     */
    allowDragAndDrop: boolean;
}
/**
 * Configures the edit behavior of the grids.Grid.
 */
export  class CellEditSettings extends base.ChildProperty<CellEditSettings> implements grids.EditSettingsModel {
    /**
     * If `allowAdding` is set to true, new records can be added to the grids.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 grids.Grid.
     * @default false
     */
    allowDeleting: boolean;
    /**
     * If `allowCommandColumns` is set to true, an additional column appended to perform CRUD operations in grids.Grid.
     * @default false
     */
    allowCommandColumns: boolean;
    /**
     * Defines the mode to edit. The available editing modes are:
     * * Normal
     * * Dialog
     * * Batch
     * @default Normal
     */
    mode: EditMode;
    /**
     * If `allowEditOnDblClick` is set to false, grids.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;
}
/**
 * Configures the conditional based hyper link settings.
 */
export  class ConditionalSettings extends base.ChildProperty<ConditionalSettings> {
    /**
     * It allows to set the field name to get visibility of hyperlink based on condition.
     */
    measure: string;
    /**
     * It allows to set the label name to get visibility of hyperlink based on condition.
     */
    label: string;
    /**
     * It allows to set the filter conditions to the field.
     * @default NotEquals
     */
    conditions: Condition;
    /**
     * It allows to set the value1 get visibility of hyperlink.
     */
    value1: number;
    /**
     * It allows to set the value2 to get visibility of hyperlink.
     */
    value2: number;
}
/**
 * It holds the settings of Hyperlink.
 */
export  class HyperlinkSettings extends base.ChildProperty<HyperlinkSettings> {
    /**
     * It allows to set the visibility of hyperlink in all cells
     * @default false
     */
    showHyperlink: boolean;
    /**
     * It allows to set the visibility of hyperlink in row headers
     * @default false
     */
    showRowHeaderHyperlink: boolean;
    /**
     * It allows to set the visibility of hyperlink in column headers
     * @default false
     */
    showColumnHeaderHyperlink: boolean;
    /**
     * It allows to set the visibility of hyperlink in value cells
     * @default false
     */
    showValueCellHyperlink: boolean;
    /**
     * It allows to set the visibility of hyperlink in summary cells
     * @default false
     */
    showSummaryCellHyperlink: boolean;
    /**
     * It allows to set the visibility of hyperlink based on condition
     * @default []
     */
    conditionalSettings: ConditionalSettingsModel[];
    /**
     * It allows to set the visibility of hyperlink based on header text
     */
    headerText: string;
    /**
     * It allows to set the custom class name for hyperlink options
     * @default ''
     */
    cssClass: string;
}
/**
 * It holds the option for configure the chart and grid view.
 */
export  class DisplayOption extends base.ChildProperty<DisplayOption> {
    /**
     * It allows the user to switch the view port as table or chart or both
     * @default Table
     */
    view: View;
    /**
     * It allows the user to switch the primary view as table or chart
     * @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;
    /** @hidden */
    currentView: Primary;
    /** @hidden */
    isChartLoaded: boolean;
    /** @hidden */
    isDragging: boolean;
    /** @hidden */
    isAdaptive: 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 */
    horizontalScrollScale: number;
    /** @hidden */
    scrollerBrowserLimit: number;
    /** @hidden */
    lastSortInfo: ISort;
    /** @hidden */
    lastFilterInfo: IFilter;
    /** @hidden */
    lastAggregationInfo: IFieldOptions;
    /** @hidden */
    lastCalcFieldInfo: ICalculatedFields;
    /** @hidden */
    lastCellClicked: Element;
    /** @hidden */
    isScrolling: boolean;
    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 */
    chartModule: PivotChart;
    /** @hidden */
    numberFormattingModule: NumberFormatting;
    private defaultLocale;
    private timeOutObj;
    private isEmptyGrid;
    private shiftLockedPos;
    private savedSelectedCellsPos;
    private isPopupClicked;
    private isMouseDown;
    private isMouseUp;
    private lastSelectedElement;
    private fieldsType;
    private defaultItems;
    private isCellBoxMultiSelection;
    /** @hidden */
    gridHeaderCellInfo: CellTemplateArgs[];
    /** @hidden */
    gridCellCollection: {
        [key: string]: HTMLElement;
    };
    /** @hidden */
    rowRangeSelection: {
        enable: boolean;
        startIndex: number;
        endIndex: number;
    };
    /** @hidden */
    pageSettings: IPageSettings;
    /** @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 */
    lastGridSettings: GridSettingsModel;
    protected needsID: boolean;
    private cellTemplateFn;
    private pivotRefresh;
    /**
     * Defines the currencyCode format of the Pivot widget columns
     * @private
     */
    private currencyCode;
    /**
     * It allows to render pivotfieldlist.
     * @default false
     */
    showFieldList: boolean;
    /**
     * Configures the features settings of Pivot widget.
     */
    gridSettings: GridSettingsModel;
    /**
     * Configures the features settings of Pivot widget.
     */
    chartSettings: ChartSettingsModel;
    /**
     * Configures the settings of GroupingBar.
     */
    groupingBarSettings: GroupingBarSettingsModel;
    /**
     * Configures the settings of hyperlink settings.
     */
    hyperlinkSettings: HyperlinkSettingsModel;
    /**
     * It allows the user to configure the pivot report as per the user need.
     */
    dataSourceSettings: DataSourceSettingsModel;
    /**
     * Configures the edit behavior of the Pivot grids.Grid.
     * @default { allowAdding: false, allowEditing: false, allowDeleting: false, allowCommandColumns: false,
     * mode:'Normal', allowEditOnDblClick: true, showConfirmDialog: true, showDeleteConfirmDialog: false }
     */
    editSettings: CellEditSettingsModel;
    /**
     * Configures the settings of displayOption.
     */
    displayOption: DisplayOptionModel;
    /**
     * It holds the pivot engine data which renders the Pivot widget.
     */
    pivotValues: IPivotValues;
    /**
     * Enables the display of GroupingBar allowing you to filter, sort, and remove fields obtained from the datasource.
     * @default false
     */
    showGroupingBar: boolean;
    /**
     * Allows to display the popups.Tooltip on hovering value cells in pivot grid.
     * @default true
     */
    showTooltip: boolean;
    /**
     * It allows to enable/disable toolbar in pivot table.
     * @default false
     */
    showToolbar: boolean;
    /**
     * It allows to set toolbar items in pivot table.
     * @default []
     */
    toolbar: ToolbarItems[];
    /**
     * It shows a common button for value fields to move together in column or row axis
     * @default false
     */
    showValuesButton: boolean;
    /**
     * It allows to enable calculated field in PivotView.
     * @default false
     */
    allowCalculatedField: boolean;
    /**
     * It allows to enable Value Sorting in PivotView.
     * @default false
     */
    enableValueSorting: boolean;
    /**
     * It allows to enable Conditional Formatting in PivotView.
     * @default false
     */
    allowConditionalFormatting: boolean;
    /**
     * It allows to enable number formatting popup in pivot table.
     * @default false
     */
    allowNumberFormatting: boolean;
    /**
     * Pivot widget. (Note change all occurrences)
     * @default 'auto'
     */
    height: string | number;
    /**
     * It allows to set the width of Pivot widget.
     * @default 'auto'
     */
    width: string | number;
    /**
     * If `allowExcelExport` is set to true, then it will allow the user to export pivotview to Excel file.
     * @default false
     */
    allowExcelExport: boolean;
    /**
     * If `enableVirtualization` set to true, then the grids.Grid will render only the rows and the columns visible within the view-port
     * and load subsequent rows and columns on vertical scrolling. This helps to load large dataset in Pivot grids.Grid.
     * @default false
     */
    enableVirtualization: boolean;
    /**
     * If `allowDrillThrough` set to true, then you can view the raw items that are used to create a
     * specified value cell in the pivot grid.
     * @default false
     */
    allowDrillThrough: boolean;
    /**
     * If `allowPdfExport` is set to true, then it will allow the user to export pivotview to Pdf file.
     * @default false
     */
    allowPdfExport: boolean;
    /**
     * If `allowDeferLayoutUpdate` is set to true, then it will enable defer layout update to pivotview.
     * @default false
     */
    allowDeferLayoutUpdate: boolean;
    /**
     * It allows to set the maximum number of nodes to be displayed in the member editor.
     * @default 1000
     */
    maxNodeLimitInMemberEditor: number;
    /**
     * It allows to set the maximum number of rows to be return while drill through.
     * @default 10000
     */
    maxRowsInDrillThrough: number;
    /**
     * If `loadOnDemandInMemberEditor` is set to false,
     * then it will load all the level members from cube when doing member filtering initially.
     * Note: This may cause performance lag based on members count that fetch from cube
     * while the member editor pop-up opens for the first time alone.
     * @default true
     */
    loadOnDemandInMemberEditor: boolean;
    /**
     * The template option which is used to render the pivot cells on the pivotview. Here, the template accepts either
     *  the string or HTMLElement as template design and then the parsed design is displayed onto the pivot cells.
     * @default null
     */
    cellTemplate: string;
    /**
     * It allows to customize the spinner.
     * @default null
     */
    spinnerTemplate: string;
    /**
     * @hidden
     * @blazorproperty 'QueryCellInfo'
     */
    protected queryCellInfo: base.EmitType<grids.QueryCellInfoEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'HeaderCellInfo'
     */
    protected headerCellInfo: base.EmitType<grids.HeaderCellInfoEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'Resizing'
     */
    protected resizing: base.EmitType<grids.ResizeArgs>;
    /**
     * @hidden
     * @blazorproperty 'ResizeStopped'
     */
    protected resizeStop: base.EmitType<grids.ResizeArgs>;
    /**
     * @hidden
     * @blazorproperty 'PdfHeaderQueryCellInfo'
     */
    protected pdfHeaderQueryCellInfo: base.EmitType<grids.PdfHeaderQueryCellInfoEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'PdfQueryCellInfo'
     */
    protected pdfQueryCellInfo: base.EmitType<grids.PdfQueryCellInfoEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'ExcelHeaderQueryCellInfo'
     */
    protected excelHeaderQueryCellInfo: base.EmitType<grids.ExcelHeaderQueryCellInfoEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'ExcelQueryCellInfo'
     */
    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
     * @blazorproperty 'OnColumnsRender'
     */
    beforeColumnsRender: base.EmitType<ColumnRenderEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'Selected'
     */
    selected: base.EmitType<grids.CellSelectEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'CellDeselected'
     */
    cellDeselected: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'RowSelected'
     */
    rowSelected: base.EmitType<grids.RowSelectEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'RowDeselected'
     */
    rowDeselected: base.EmitType<grids.RowDeselectEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'ChartTooltipRendered'
     */
    protected chartTooltipRender: base.EmitType<charts.ITooltipRenderEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'ChartLoaded'
     */
    protected chartLoaded: base.EmitType<charts.ILoadedEventArgs>;
    /** @hidden */
    protected chartLoad: base.EmitType<charts.ILoadedEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'ChartResized'
     */
    protected chartResized: base.EmitType<charts.IResizeEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'ChartAxisLabelRender'
     * @deprecated
     */
    protected chartAxisLabelRender: base.EmitType<charts.IAxisLabelRenderEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'ContextMenuItemClicked'
     * @deprecated
     */
    contextMenuClick: base.EmitType<grids.ContextMenuClickEventArgs>;
    /**
     * @hidden
     * @blazorproperty 'ContextMenuOpened'
     * @deprecated
     */
    contextMenuOpen: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * This allows any customization of Pivot cell style while  PDF exporting.
     * @event
     * @blazorproperty 'PdfCellRender'
     * @deprecated
     */
    onPdfCellRender: base.EmitType<PdfCellRenderArgs>;
    /**
     * This allows to save the report in any storage.
     * @event
     * @deprecated
     */
    saveReport: base.EmitType<SaveReportArgs>;
    /**
     * This allows to fetch the report names from storage.
     * @event
     * @blazorproperty 'FetchReport'
     * @deprecated
     */
    fetchReport: base.EmitType<FetchReportArgs>;
    /**
     * This allows to load the report from storage.
     * @event
     * @blazorproperty 'LoadReport'
     * @deprecated
     */
    loadReport: base.EmitType<LoadReportArgs>;
    /**
     * This allows to rename the report.
     * @event
     * @deprecated
     */
    renameReport: base.EmitType<RenameReportArgs>;
    /**
     * This allows to remove the report from storage.
     * @event
     * @deprecated
     */
    removeReport: base.EmitType<RemoveReportArgs>;
    /**
     * This allows to set the new report.
     * @event
     * @deprecated
     */
    newReport: base.EmitType<NewReportArgs>;
    /**
     * This allows to change the toolbar items.
     * @event
     * @blazorproperty 'ToolbarRendered'
     * @deprecated
     */
    toolbarRender: base.EmitType<ToolbarArgs>;
    /**
     * This allows to change the toolbar items.
     * @event
     * @blazorproperty 'OnToolbarClick'
     * @deprecated
     */
    toolbarClick: base.EmitType<navigations.ClickEventArgs>;
    /**
     * This allows any customization of PivotView properties on initial rendering.
     * @event
     * @blazorproperty 'OnLoad'
     * @deprecated
     */
    load: base.EmitType<LoadEventArgs>;
    /**
     * Triggers before the pivot engine starts to populate and allows to customize the pivot datasource settings.
     * @event
     * @blazorproperty 'EnginePopulating'
     * @deprecated
     */
    enginePopulating: base.EmitType<EnginePopulatingEventArgs>;
    /**
     * Triggers after the pivot engine populated and allows to customize the pivot widget.
     * @event
     * @blazorproperty 'EnginePopulated'
     * @deprecated
     */
    enginePopulated: base.EmitType<EnginePopulatedEventArgs>;
    /**
     * Triggers when a field getting dropped into any axis.
     * @event
     * @blazorproperty 'FieldDropped'
     * @deprecated
     */
    onFieldDropped: base.EmitType<FieldDroppedEventArgs>;
    /**
     * Triggers when data source is populated in the Pivot View.
     * @event
     */
    dataBound: base.EmitType<Object>;
    /**
     * Triggers when data source is created in the Pivot View.
     * @event
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when data source is destroyed in the Pivot View.
     * @event
     */
    destroyed: base.EmitType<Object>;
    /**
     * This allows to set properties for exporting.
     * @event
     * @blazorproperty 'OnExport'
     * @deprecated
     */
    beforeExport: base.EmitType<BeforeExportEventArgs>;
    /**
     * This allows to do changes before conditional formatting apply.
     * @event
     */
    conditionalFormatting: base.EmitType<IConditionalFormatSettings>;
    /**
     * Triggers when cell is clicked in the Pivot widget.
     * @event
     * @deprecated
     */
    cellClick: base.EmitType<CellClickEventArgs>;
    /**
     * Triggers when value cell is clicked in the Pivot widget on Drill-Through.
     * @event
     * @blazorproperty 'DrillThrough'
     * @deprecated
     */
    drillThrough: base.EmitType<DrillThroughEventArgs>;
    /**
     * Triggers when value cell is clicked in the Pivot widget on Editing.
     * @event
     * @blazorproperty 'BeginDrillThrough'
     * @deprecated
     */
    beginDrillThrough: base.EmitType<BeginDrillThroughEventArgs>;
    /**
     * Triggers when hyperlink cell is clicked in the Pivot widget.
     * @event
     * @blazorproperty 'HyperlinkCellClicked'
     */
    hyperlinkCellClick: base.EmitType<HyperCellClickEventArgs>;
    /**
     * Triggers before cell got selected in Pivot widget.
     * @event
     * @blazorproperty 'CellSelecting'
     */
    cellSelecting: base.EmitType<PivotCellSelectedEventArgs>;
    /**
     * Triggers before drill down/ drill up Pivot widget.
     * @event
     * @deprecated
     */
    drill: base.EmitType<DrillArgs>;
    /**
     * Triggers when cell got selected in Pivot widget.
     * @event
     * @blazorproperty 'CellSelected'
     * @deprecated
     */
    cellSelected: base.EmitType<PivotCellSelectedEventArgs>;
    /**
     * Triggers when chart series are created.
     * @event
     * @blazorproperty 'ChartSeriesCreated'
     * @deprecated
     */
    chartSeriesCreated: base.EmitType<ChartSeriesCreatedEventArgs>;
    /**
     * This allows to change the cell value.
     * @event
     * @blazorproperty 'AggregateCellInfo'
     * @deprecated
     */
    aggregateCellInfo: base.EmitType<AggregateEventArgs>;
    /**
     * This allows to identify each field list update.
     * @event
     * @blazorproperty 'FieldListRefreshed'
     * @deprecated
     */
    fieldListRefreshed: base.EmitType<FieldListRefreshedEventArgs>;
    /**
     * Constructor for creating the widget
     * @param  {PivotViewModel} options?
     * @param  {string|HTMLElement} element?
     */
    constructor(options?: PivotViewModel, element?: string | HTMLElement);
    /**
     * To provide the array of modules needed for control rendering
     * @return {base.ModuleDeclaration[]}
     * @hidden
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * For internal use only - Initializing internal properties;
     * @private
     */
    protected preRender(): void;
    private onBeforeTooltipOpen;
    private renderToolTip;
    /** @hidden */
    renderContextMenu(): void;
    private getDefaultItems;
    private buildDefaultItems;
    private initProperties;
    /**
     * @hidden
     */
    updatePageSettings(isInit: boolean): void;
    /**
     * Initialize the control rendering
     * @returns void
     * @hidden
     */
    render(): void;
    /**
     * 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}
     */
    getPersistData(): string;
    /**
     * Loads pivot Layout
     * @param {string} persistData - Specifies the persist data to be loaded to pivot.
     * @returns {void}
     */
    loadPersistData(persistData: string): void;
    /**
     * It returns the Module name.
     * @returns 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;
    templateParser(template: string): Function;
    getCellTemplate(): Function;
    /**
     * Render the UI section of PivotView.
     * @returns void
     * @hidden
     */
    renderPivotGrid(): void;
    /**
     * Updates the PivotEngine using dataSource from Pivot View component.
     * @method updateDataSource
     * @return {void}
     * @hidden
     */
    updateDataSource(isRefreshGrid?: boolean): void;
    /**
     * 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  {pdfExportProperties} grids.PdfExportProperties - Defines the export properties of the grids.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 void
     */
    pdfExport(pdfExportProperties?: grids.PdfExportProperties, isMultipleExport?: boolean, pdfDoc?: Object, isBlob?: boolean): void;
    /**
     * Export method for the chart.
     * @param type - Defines the export type.
     * @param fileName - Defines file name of export document.
     * @param orientation - Defines the page orientation on pdf export(0 for Portrait mode, 1 for Landscape mode).
     * @param width - Defines width of the export document.
     * @param height - Defines height of the export document.
     */
    chartExport(type: charts.ExportType, fileName: string, orientation?: pdfExport.PdfPageOrientation, width?: number, height?: number): void;
    /**
     * Print method for the chart.
     */
    printChart(): void;
    /** @hidden */
    onDrill(target: Element, chartDrillInfo?: ChartLabelInfo): void;
    private onOlapDrill;
    private onContentReady;
    private setToolTip;
    private getRowText;
    private getColText;
    private updateClass;
    private mouseRclickHandler;
    private mouseDownHandler;
    private mouseMoveHandler;
    private mouseUpHandler;
    private parentAt;
    private mouseClickHandler;
    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
     */
    refresh(): void;
    /** @hidden */
    layoutRefresh(): void;
    private CellClicked;
    /** @hidden */
    clearSelection(ele: Element, e: MouseEvent | base.KeyboardEventArgs, colIndex: number, rowIndex: number): void;
    /** @hidden */
    applyRowSelection(colIndex: number, rowIndex: number, e: MouseEvent): void;
    /** @hidden */
    applyColumnSelection(e: MouseEvent | base.KeyboardEventArgs, target: Element, colStart: number, colEnd: number, rowStart: number): void;
    private getSelectedCellsPos;
    private setSavedSelectedCells;
    private renderEmptyGrid;
    private initEngine;
    private generateData;
    private getValueCellInfo;
    /**
     * De-Register the internal events.
     * @returns void
     * @hidden
     */
    bindTriggerEvents(args?: Object): void;
    private getData;
    private executeQuery;
    /** @hidden */
    applyFormatting(pivotValues: IPivotValues): void;
    private createStyleSheet;
    private applyHyperlinkSettings;
    private checkCondition;
    private wireEvents;
    private unwireEvents;
    /**
     * To destroy the PivotView elements.
     * @returns void
     */
    destroy(): void;
}
//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 PivotChartSeriesBorder
 */
export interface PivotChartSeriesBorderModel {
    /**
      * 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 PivotChartSeriesAnimation
 */
export interface PivotChartSeriesAnimationModel {
    /**
      * 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 PivotChartSeriesSegment
 */
export interface PivotChartSeriesSegmentModel {
    /**
      * 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 PivotChartSeriesMarkerSettings
 * @private
 */
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;
    /**
      * The different shape of a marker:
      * * Circle
      * * Rectangle
      * * Triangle
      * * Diamond
      * * HorizontalLine
      * * VerticalLine
      * * Pentagon
      * * InvertedTriangle
      * * Image
      * @blazorType PivotChartShape
      * @default 'Circle'
      */
    shape?: charts.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;
    /**
      * The width of the marker in pixels.
      * @default 5
      */
    width?: number;
    /**
      * Options for customizing the border of a marker.
      */
    border?: charts.BorderModel;
    /**
      * 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?: charts.DataLabelSettingsModel;
}
/**
 * Interface for a class PivotChartSeriesErrorSettings
 */
export interface PivotChartSeriesErrorSettingsModel {
    /**
      * 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.
      * @blazorType PivotChartErrorBarType
      * @default 'Fixed'
      */
    type?: charts.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.
      * @blazorType PivotChartErrorBarDirection
      * @default 'Both'
      */
    direction?: charts.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.
      * @blazorType PivotChartErrorBarMode
      * @default 'Vertical'
      */
    mode?: charts.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?: charts.ErrorBarCapSettingsModel;
}
/**
 * Interface for a class PivotChartSeriesTrendline
 */
export interface PivotChartSeriesTrendlineModel {
    /**
      * Defines the name of trendline
      * @default ''
      */
    name?: string;
    /**
      * Defines the type of the trendline
      * @blazorType PivotChartTrendlineTypes
      * @default 'Linear'
      */
    type?: charts.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?: charts.AnimationModel;
    /**
      * Options to customize the marker for trendlines
      */
    marker?: charts.MarkerSettingsModel;
    /**
      * Enables/disables tooltip for trendlines
      * @default true
      */
    enableTooltip?: boolean;
    /**
      * Defines the intercept of the trendline
      * @default null
      * @aspDefaultValueIgnore
      * @blazorDefaultValueIgnore
      */
    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
      * @blazorType PivotChartLegendShape
      * @default 'SeriesType'
      */
    legendShape?: charts.LegendShape;
}
/**
 * Interface for a class PivotChartSeriesEmptyPointSettings
 */
export interface PivotChartSeriesEmptyPointSettingsModel {
    /**
      * 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?: charts.BorderModel;
    /**
      * To customize the mode of empty points.
      * @blazorType PivotChartEmptyPointMode
      * @default Gap
      */
    mode?: charts.EmptyPointMode | charts.AccEmptyPointMode;
}
/**
 * Interface for a class PivotChartSeriesCornerRadius
 */
export interface PivotChartSeriesCornerRadiusModel {
    /**
      * 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 PivotChartAxisFont
 */
export interface PivotChartAxisFontModel {
    /**
      * FontStyle for the text.
      * @default 'Normal'
      */
    fontStyle?: string;
    /**
      * charts.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
      * @blazorType PivotChartAlignment
      * @default 'Center'
      */
    textAlignment?: charts.Alignment;
    /**
      * FontFamily for the text.
      */
    fontFamily?: string;
    /**
      * Opacity for the text.
      * @default 1
      */
    opacity?: number;
    /**
      * Specifies the chart title text overflow
      * @blazorType PivotChartTextOverflow
      * @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;
    /**
      * 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?: charts.FontModel;
}
/**
 * Interface for a class PivotChartAxisMajorTickLines
 */
export interface PivotChartAxisMajorTickLinesModel {
    /**
      * 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 PivotChartAxisMajorGridLines
 */
export interface PivotChartAxisMajorGridLinesModel {
    /**
      * 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 PivotChartAxisMinorTickLines
 */
export interface PivotChartAxisMinorTickLinesModel {
    /**
      * 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 PivotChartAxisMinorGridLines
 */
export interface PivotChartAxisMinorGridLinesModel {
    /**
      * 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 PivotChartAxisAxisLine
 */
export interface PivotChartAxisAxisLineModel {
    /**
      * 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 PivotChartAxisStripLineSettings
 */
export interface PivotChartAxisStripLineSettingsModel {
    /**
      * 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
      * @blazorDefaultValueIgnore
      */
    start?: number | Date;
    /**
      * End value of the strip line.
      * @default null
      * @aspDefaultValueIgnore
      * @blazorDefaultValueIgnore
      */
    end?: number | Date;
    /**
      * Size of the strip line, when it starts from the origin.
      * @default null
      * @aspDefaultValueIgnore
      * @blazorDefaultValueIgnore
      */
    size?: number;
    /**
      * Color of the strip line.
      * @default '#808080'
      */
    color?: string;
    /**
      * Dash Array of the strip line.
      * @default null
      * @aspDefaultValueIgnore
      * @blazorDefaultValueIgnore
      */
    dashArray?: string;
    /**
      * Size type of the strip line
      * @blazorType PivotChartSizeType
      * @default Auto
      */
    sizeType?: charts.SizeType;
    /**
      * isRepeat value of the strip line.
      * @default false
      * @aspDefaultValueIgnore
      * @blazorDefaultValueIgnore
      */
    isRepeat?: boolean;
    /**
      * repeatEvery value of the strip line.
      * @default null
      * @aspDefaultValueIgnore
      * @blazorDefaultValueIgnore
      */
    repeatEvery?: number | Date;
    /**
      * repeatUntil value of the strip line.
      * @default null
      * @aspDefaultValueIgnore
      * @blazorDefaultValueIgnore
      */
    repeatUntil?: number | Date;
    /**
      * isSegmented value of the strip line
      * @default false
      * @aspDefaultValueIgnore
      * @blazorDefaultValueIgnore
      */
    isSegmented?: boolean;
    /**
      * segmentStart value of the strip line.
      * @default null
      * @aspDefaultValueIgnore
      * @blazorDefaultValueIgnore
      */
    segmentStart?: number | Date;
    /**
      * segmentEnd value of the strip line.
      * @default null
      * @aspDefaultValueIgnore
      * @blazorDefaultValueIgnore
      */
    segmentEnd?: number | Date;
    /**
      * segmentAxisName of the strip line.
      * @default null
      * @aspDefaultValueIgnore
      * @blazorDefaultValueIgnore
      */
    segmentAxisName?: string;
    /**
      * charts.Border of the strip line.
      */
    border?: charts.BorderModel;
    /**
      * Strip line text.
      * @default ''
      */
    text?: string;
    /**
      * The angle to which the strip line text gets rotated.
      * @default null
      * @aspDefaultValueIgnore
      * @blazorDefaultValueIgnore
      */
    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.
      * @blazorType PivotChartAnchor
      * @default 'Middle'
      */
    horizontalAlignment?: charts.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.
      * @blazorType PivotChartAnchor
      * @default 'Middle'
      */
    verticalAlignment?: charts.Anchor;
    /**
      * Options to customize the strip line text.
      */
    textStyle?: charts.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.
      * @blazorType PivotChartZIndex
      * @default 'Behind'
      */
    zIndex?: charts.ZIndex;
    /**
      * Strip line Opacity
      * @default 1
      */
    opacity?: number;
}
/**
 * Interface for a class PivotChartAxisLabelBorder
 */
export interface PivotChartAxisLabelBorderModel {
    /**
      * 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;
    /**
      * charts.Border type for labels
      * * Rectangle
      * * Without Top charts.Border
      * * Without Top and BottomBorder
      * * Without charts.Border
      * * Brace
      * * CurlyBrace
      * @blazorType PivotChartBorderType
      * @default 'Rectangle'
      */
    type?: charts.BorderType;
}
/**
 * Interface for a class PivotChartSettingsChartArea
 */
export interface PivotChartSettingsChartAreaModel {
    /**
      * Options to customize the border of the chart area.
      */
    border?: charts.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;
}
/**
 * Interface for a class PivotChartSettingsCrosshairSettings
 */
export interface PivotChartSettingsCrosshairSettingsModel {
    /**
      * 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?: charts.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.
      * @blazorType PivotChartLineType
      * @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;
    /**
      * 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?: charts.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.
      * @blazorType PivotChartLegendPosition
      * @default 'Auto'
      */
    position?: charts.LegendPosition;
    /**
      * 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 chart.
      * * Center: Aligns the legend to the center of the chart.
      * * Far: Aligns the legend to the right of the chart.
      * @blazorType PivotChartAlignment
      * @default 'Center'
      */
    alignment?: charts.Alignment;
    /**
      * Options to customize the legend text.
      */
    textStyle?: charts.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?: charts.BorderModel;
    /**
      *  Options to customize left, right, top and bottom margins of the chart.
      */
    margin?: charts.MarginModel;
    /**
      * Padding between the legend shape and text.
      * @default 5
      */
    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;
    /**
      * Description for legends.
      * @default null
      */
    description?: string;
    /**
      * TabIndex value for the legend.
      * @default 3
      */
    tabIndex?: number;
}
/**
 * Interface for a class PivotChartSettingsIndexes
 */
export interface PivotChartSettingsIndexesModel {
    /**
      * Specifies the series index
      * @default 0
      * @aspType int
      * @blazorType int
      */
    series?: number;
    /**
      * Specifies the point index
      * @default 0
      * @aspType int
      * @blazorType int
      */
    point?: number;
}
/**
 * Interface for a class PivotChartSettingsMargin
 */
export interface PivotChartSettingsMarginModel {
    /**
      * 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 PivotSeries
 */
export interface PivotSeriesModel {
    /**
      * The fill color for the series that accepts value in hex and rgba as a valid CSS color string.
      * @default null
      */
    fill?: string;
    /**
      * Options to customizing animation for the series.
      * @default null
      */
    animation?: charts.AnimationModel;
    /**
      * 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.
      * @default 1
      */
    width?: number;
    /**
      * Defines the axis, based on which the line series will be split.
      */
    segmentAxis?: charts.Segment;
    /**
      * Type of series to be drawn in radar or polar series. They are
      *  'Line'
      *  'Column'
      *  'Area'
      *  'Scatter'
      *  'Spline'
      *  'StackingColumn'
      *  'StackingArea'
      *  'RangeColumn'
      *  'SplineArea'
      * @blazorType PivotChartDrawType
      * @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;
    /**
      * Defines the collection of regions that helps to differentiate a line series.
      */
    segments?: charts.ChartSegmentModel[];
    /**
      * 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?: charts.BorderModel;
    /**
      * Specifies the visibility of series.
      * @default true
      */
    visible?: boolean;
    /**
      * The opacity of the series.
      * @default 1
      */
    opacity?: number;
    /**
      * The type of the series are
      * * StackingColumn
      * * StackingArea
      * * StackingBar
      * * StepLine      
      * * Line
      * * Column
      * * Area
      * * Bar
      * * StepArea
      * * Pareto
      * * Bubble
      * * Scatter     
      * * Spline
      * * SplineArea
      * * StackingColumn100
      * * StackingBar100
      * * StackingArea100
      * * Polar
      * * Radar
      * @default 'Line'
      */
    type?: ChartSeriesType;
    /**
      * Options for displaying and customizing markers for individual points in a series.
      */
    marker?: charts.MarkerSettingsModel;
    /**
      * 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;
    /**
      * Defines the collection of trendlines that are used to predict the trend
      */
    trendlines?: charts.TrendlineModel[];
    /**
      * 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
      * * VerticalLine
      * * Pentagon
      * * InvertedTriangle
      * * SeriesType     
      * * Triangle
      * * Diamond
      * * Cross
      * * HorizontalLine
      * @blazorType PivotChartLegendShape
      * @default 'SeriesType'
      */
    legendShape?: charts.LegendShape;
    /**
      * Minimum radius
      * @default 1
      */
    minRadius?: number;
    /**
      * Custom style for the selected series or points.
      * @default null
      */
    selectionStyle?: string;
    /**
      * Defines type of spline to be rendered.
      * @blazorType PivotChartSplineType
      * @default 'Natural'
      */
    splineType?: charts.SplineType;
    /**
      * Maximum radius
      * @default 3
      */
    maxRadius?: number;
    /**
      * It defines tension of cardinal spline types
      * @default 0.5
      */
    cardinalSplineTension?: number;
    /**
      * To render the column series points with particular column width.
      * @default null
      * @aspDefaultValueIgnore
      * @blazorDefaultValueIgnore
      */
    columnWidth?: number;
    /**
      * options to customize the empty points in series
      */
    emptyPointSettings?: charts.EmptyPointSettingsModel;
    /**
      * To render the column series points with particular rounded corner.
      */
    cornerRadius?: charts.CornerRadiusModel;
    /**
      * 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 {
    /**
      * Specifies 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.
      * @blazorType PivotChartLabelIntersectAction
      * @default Rotate45
      */
    labelIntersectAction?: charts.LabelIntersectAction;
    /**
      * Options to customize the axis label.
      */
    labelStyle?: charts.FontModel;
    /**
      * Specifies the title of an axis.
      * @default ''
      */
    title?: string;
    /**
      * Options to customize the crosshair ToolTip.
      */
    crosshairTooltip?: charts.CrosshairTooltipModel;
    /**
      * 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;
    /**
      * Options for customizing the axis title.
      */
    titleStyle?: charts.FontModel;
    /**
      * Specifies indexed category  axis.
      * @default false
      */
    isIndexed?: boolean;
    /**
      * Left and right padding for the plot area in pixels.
      * @default 0
      */
    plotOffset?: number;
    /**
      * Specifies 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.     
      * @blazorType PivotChartEdgeLabelPlacement
      * @default 'None'
      */
    edgeLabelPlacement?: charts.EdgeLabelPlacement;
    /**
      * Specifies the placement of a label for category axis. They are,
      * * onTicks: Renders the label on the ticks.     
      * * betweenTicks: Renders the label between the ticks.
      * @blazorType PivotChartLabelPlacement
      * @default 'BetweenTicks'
      */
    labelPlacement?: charts.LabelPlacement;
    /**
      * Specifies 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.
      * @blazorType PivotChartAxisPosition
      * @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;
    /**
      * Specifies 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.
      * @blazorType PivotChartAxisPosition
      * @default 'Outside'
      */
    labelPosition?: charts.AxisPosition;
    /**
      * 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 maximum range of an axis.
      * @default null
      */
    maximum?: Object;
    /**
      * Specifies the minimum range of an axis.
      * @default null
      */
    minimum?: Object;
    /**
      * Specifies the maximum width of an axis label.
      * @default 34.
      */
    maximumLabelWidth?: number;
    /**
      * Specifies the interval for an axis.
      * @default null
      * @aspDefaultValueIgnore
      * @blazorDefaultValueIgnore
      */
    interval?: number;
    /**
      * Options for customizing major tick lines.
      */
    majorTickLines?: charts.MajorTickLinesModel;
    /**
      * Specifies the Trim property for an axis.
      * @default false
      */
    enableTrim?: boolean;
    /**
      * Options for customizing major grid lines.
      */
    majorGridLines?: charts.MajorGridLinesModel;
    /**
      * Options for customizing minor tick lines.
      */
    minorTickLines?: charts.MinorTickLinesModel;
    /**
      * Options for customizing axis lines.
      */
    lineStyle?: charts.AxisLineModel;
    /**
      * Options for customizing minor grid lines.
      */
    minorGridLines?: charts.MinorGridLinesModel;
    /**
      * It specifies whether the axis to be rendered in inversed manner or not.
      * @default false
      */
    isInversed?: boolean;
    /**
      * Description for axis and its element.
      * @default null
      */
    description?: string;
    /**
      * The start angle for the series.
      * @default 0
      */
    startAngle?: number;
    /**
      * The polar radar radius position.
      * @default 100
      */
    coefficient?: number;
    /**
      * Specifies the stripLine collection for the axis
      */
    stripLines?: charts.StripLineSettingsModel[];
    /**
      * TabIndex value for the axis.
      * @default 2
      */
    tabIndex?: number;
    /**
      * charts.Border of the multi level labels.
      */
    border?: charts.LabelBorderModel;
}
/**
 * Interface for a class PivotTooltipSettings
 */
export interface PivotTooltipSettingsModel {
    /**
      * Enables / Disables the visibility of the marker.
      * @default false.
      */
    enableMarker?: boolean;
    /**
      * Enables / Disables the visibility of the tooltip.
      * @default true.
      */
    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;
    /**
      * 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 0.75
      */
    opacity?: number;
    /**
      * Header for tooltip. 
      * @default null
      */
    header?: string;
    /**
      * Format the ToolTip content.
      * @default null.
      */
    format?: string;
    /**
      * Options to customize the ToolTip text.
      */
    textStyle?: charts.FontModel;
    /**
      * 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;
    /**
      * 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 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;
    /**
      * Specifies 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'
      *    }
      * ...
      * @blazorType PivotChartZoomMode
      * @default 'XY'
      */
    mode?: charts.ZoomMode;
    /**
      * Specifies the toolkit options for the zooming as follows:
      * * ZoomIn
      * * ZoomOut
      * * Pan     
      * * Zoom
      * * Reset
      * @blazorType List<PivotChartToolbarItems>
      * @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 {
    /**
      * Options to configures the series of chart.
      */
    chartSeries?: PivotSeriesModel;
    /**
      * Options to configure the horizontal axis of chart.
      */
    primaryXAxis?: PivotAxisModel;
    /**
      * Options to configure the vertical axis of chart.
      */
    primaryYAxis?: PivotAxisModel;
    /**
      * Defines the measure to load in chart
      * @default ''
      */
    value?: string;
    /**
      * Defines the measure to load in chart
      * @default false
      */
    enableMultiAxis?: boolean;
    /**
      * Options for customizing the title of the Chart.
      */
    titleStyle?: charts.FontModel;
    /**
      * Title of the chart
      * @default ''
      */
    title?: string;
    /**
      * Options for customizing the Subtitle of the Chart.
      */
    subTitleStyle?: charts.FontModel;
    /**
      * SubTitle of the chart
      * @default ''
      */
    subTitle?: string;
    /**
      * Options for customizing the color and width of the chart border.
      */
    border?: charts.BorderModel;
    /**
      *  Options to customize left, right, top and bottom margins of the chart.
      */
    margin?: charts.MarginModel;
    /**
      * Options for configuring the border and background of the chart area.
      */
    chartArea?: charts.ChartAreaModel;
    /**
      * The background color of the chart that accepts value in hex and rgba as a valid CSS color string.
      * @default null
      */
    background?: string;
    /**
      * Specifies the theme for the chart.
      * @blazorType PivotChartTheme
      * @default 'Material'
      */
    theme?: charts.ChartTheme;
    /**
      * Palette for the chart series.
      * @default []
      */
    palettes?: string[];
    /**
      * Options for customizing the crosshair of the chart.
      */
    crosshair?: charts.CrosshairSettingsModel;
    /**
      * Options for customizing the tooltip of the chart.
      */
    tooltip?: PivotTooltipSettingsModel;
    /**
      * Options to enable the zooming feature in the chart.
      */
    zoomSettings?: PivotZoomSettingsModel;
    /**
      * Options for customizing the legend of the chart.
      */
    legendSettings?: charts.LegendSettingsModel;
    /**
      * Specifies whether series or data point has to be selected. They 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;
    /**
      * To enable export feature in chart.
      * @default true
      */
    enableExport?: boolean;
    /**
      * If set true, enables the multi selection in chart. It requires `selectionMode` to be `Point` | `Series` | or `Cluster`.
      * @default false
      */
    isMultiSelect?: boolean;
    /**
      * Specifies the point indexes to be selected while loading a chart.
      * It requires `selectionMode` to be `Point` | `Series`.
      * ...
      *   selectionMode: 'Point',
      *   selectedDataIndexes: [ { series: 0, point: 1},
      *                          { series: 2, point: 3} ],
      * ...
      * @default []
      */
    selectedDataIndexes?: charts.IndexesModel[];
    /**
      * If set true, charts.Animation process will be executed.
      * @default true
      */
    enableAnimation?: boolean;
    /**
      * Specifies whether a grouping separator should be used for a number.
      * @default true
      */
    useGroupingSeparator?: boolean;
    /**
      * It specifies whether the chart should be render in transposed manner or not.
      * @default false
      */
    isTransposed?: boolean;
    /**
      * TabIndex value for the chart.
      * @default 1
      */
    tabIndex?: number;
    /**
      * Description for chart.
      * @default null
      */
    description?: string;
    /**
      * Triggers after resizing of chart
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IResizeEventArgs
      * @deprecated
      */
    resized?: base.EmitType<charts.IResizeEventArgs>;
    /**
      * To enable the side by side placing the points for column type series.
      * @default true
      */
    enableSideBySidePlacement?: boolean;
    /**
      * Triggers after chart load.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.ILoadedEventArgs
      * @deprecated
      */
    loaded?: base.EmitType<charts.ILoadedEventArgs>;
    /**
      * Triggers before the prints gets started.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IPrintEventArgs
      * @deprecated
      */
    beforePrint?: base.EmitType<charts.IPrintEventArgs>;
    /**
      * Triggers after animation is completed for the series.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IAnimationCompleteEventArgs
      * @deprecated
      */
    animationComplete?: base.EmitType<charts.IAnimationCompleteEventArgs>;
    /**
      * Triggers before chart load.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.ILoadedEventArgs
      * @deprecated
      */
    load?: base.EmitType<charts.ILoadedEventArgs>;
    /**
      * Triggers before the data label for series is rendered.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.ITextRenderEventArgs
      * @deprecated
      */
    textRender?: base.EmitType<charts.ITextRenderEventArgs>;
    /**
      * Triggers before the legend is rendered.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.ILegendRenderEventArgs
      * @deprecated
      */
    legendRender?: base.EmitType<charts.ILegendRenderEventArgs>;
    /**
      * Triggers before the series is rendered.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.ISeriesRenderEventArgs
      * @deprecated
      */
    seriesRender?: base.EmitType<charts.ISeriesRenderEventArgs>;
    /**
      * Triggers before each points for the series is rendered.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IPointRenderEventArgs
      * @deprecated
      */
    pointRender?: base.EmitType<charts.IPointRenderEventArgs>;
    /**
      * Triggers before the tooltip for series is rendered.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.ITooltipRenderEventArgs
      * @deprecated
      */
    tooltipRender?: base.EmitType<charts.ITooltipRenderEventArgs>;
    /**
      * Triggers before each axis label is rendered.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IAxisLabelRenderEventArgs
      * @deprecated
      */
    axisLabelRender?: base.EmitType<charts.IAxisLabelRenderEventArgs>;
    /**
      * Triggers on clicking the chart.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IMouseEventArgs
      * @deprecated
      */
    chartMouseClick?: base.EmitType<charts.IMouseEventArgs>;
    /**
      * Triggers on hovering the chart.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IMouseEventArgs
      * @deprecated
      */
    chartMouseMove?: base.EmitType<charts.IMouseEventArgs>;
    /**
      * Triggers on point move.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IPointEventArgs
      * @deprecated
      */
    pointMove?: base.EmitType<charts.IPointEventArgs>;
    /**
      * Triggers on point click.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IPointEventArgs
      * @deprecated
      */
    pointClick?: base.EmitType<charts.IPointEventArgs>;
    /**
      * Triggers on mouse down.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IMouseEventArgs
      * @deprecated
      */
    chartMouseDown?: base.EmitType<charts.IMouseEventArgs>;
    /**
      * Triggers when cursor leaves the chart.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IMouseEventArgs
      * @deprecated
      */
    chartMouseLeave?: base.EmitType<charts.IMouseEventArgs>;
    /**
      * Triggers after the drag selection is completed.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IDragCompleteEventArgs
      * @deprecated
      */
    dragComplete?: base.EmitType<charts.IDragCompleteEventArgs>;
    /**
      * Triggers on mouse up.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IMouseEventArgs
      * @deprecated
      */
    chartMouseUp?: base.EmitType<charts.IMouseEventArgs>;
    /**
      * Triggers when start the scroll.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IScrollEventArgs
      * @deprecated
      */
    scrollStart?: base.EmitType<charts.IScrollEventArgs>;
    /**
      * Triggers after the zoom selection is completed.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IZoomCompleteEventArgs
      * @deprecated
      */
    zoomComplete?: base.EmitType<charts.IZoomCompleteEventArgs>;
    /**
      * Triggers when change the scroll.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IScrollEventArgs
      * @deprecated
      */
    scrollChanged?: base.EmitType<charts.IScrollEventArgs>;
    /**
      * Triggers after the scroll end.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IScrollEventArgs
      * @deprecated
      */
    scrollEnd?: base.EmitType<charts.IScrollEventArgs>;
    /**
      * Specifies whether to show multilevel labels in chart.
      * @default true
      */
    showMultiLevelLabels?: boolean;
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/model/chartsettings.d.ts
/**
 *  third party configures for chart series in chart settings.
 */
export  class PivotChartSeriesBorder {
    /**
     * 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;
}
export  class PivotChartSeriesAnimation {
    /**
     * 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;
}
export  class PivotChartSeriesSegment {
    /**
     * 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;
}
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;
    /**
     * The different shape of a marker:
     * * Circle
     * * Rectangle
     * * Triangle
     * * Diamond
     * * HorizontalLine
     * * VerticalLine
     * * Pentagon
     * * InvertedTriangle
     * * Image
     * @blazorType PivotChartShape
     * @default 'Circle'
     */
    shape: charts.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;
    /**
     * The width of the marker in pixels.
     * @default 5
     */
    width: number;
    /**
     * Options for customizing the border of a marker.
     */
    border: charts.BorderModel;
    /**
     * 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: charts.DataLabelSettingsModel;
}
export  class PivotChartSeriesErrorSettings {
    /**
     * 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.
     * @blazorType PivotChartErrorBarType
     * @default 'Fixed'
     */
    type: charts.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.
     * @blazorType PivotChartErrorBarDirection
     * @default 'Both'
     */
    direction: charts.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.
     * @blazorType PivotChartErrorBarMode
     * @default 'Vertical'
     */
    mode: charts.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: charts.ErrorBarCapSettingsModel;
}
export  class PivotChartSeriesTrendline {
    /**
     * Defines the name of trendline
     * @default ''
     */
    name: string;
    /**
     * Defines the type of the trendline
     * @blazorType PivotChartTrendlineTypes
     * @default 'Linear'
     */
    type: charts.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: charts.AnimationModel;
    /**
     * Options to customize the marker for trendlines
     */
    marker: charts.MarkerSettingsModel;
    /**
     * Enables/disables tooltip for trendlines
     * @default true
     */
    enableTooltip: boolean;
    /**
     * Defines the intercept of the trendline
     * @default null
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     */
    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
     * @blazorType PivotChartLegendShape
     * @default 'SeriesType'
     */
    legendShape: charts.LegendShape;
}
export  class PivotChartSeriesEmptyPointSettings {
    /**
     * 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: charts.BorderModel;
    /**
     * To customize the mode of empty points.
     * @blazorType PivotChartEmptyPointMode
     * @default Gap
     */
    mode: charts.EmptyPointMode | charts.AccEmptyPointMode;
}
export  class PivotChartSeriesCornerRadius {
    /**
     * 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;
}
/**
 *  third party configures for chart axis in chart settings.
 */
export  class PivotChartAxisFont {
    /**
     * 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
     * @blazorType PivotChartAlignment
     * @default 'Center'
     */
    textAlignment: charts.Alignment;
    /**
     * FontFamily for the text.
     */
    fontFamily: string;
    /**
     * Opacity for the text.
     * @default 1
     */
    opacity: number;
    /**
     * Specifies the chart title text overflow
     * @blazorType PivotChartTextOverflow
     * @default 'Trim'
     */
    textOverflow: charts.TextOverflow;
}
export  class PivotChartAxisCrosshairTooltip {
    /**
     * 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: charts.FontModel;
}
export  class PivotChartAxisMajorTickLines {
    /**
     * 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;
}
export  class PivotChartAxisMajorGridLines {
    /**
     * 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;
}
export  class PivotChartAxisMinorTickLines {
    /**
     * 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;
}
export  class PivotChartAxisMinorGridLines {
    /**
     * 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;
}
export  class PivotChartAxisAxisLine {
    /**
     * 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;
}
export  class PivotChartAxisStripLineSettings {
    /**
     * 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
     * @blazorDefaultValueIgnore
     */
    start: number | Date;
    /**
     * End value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     */
    end: number | Date;
    /**
     * Size of the strip line, when it starts from the origin.
     * @default null
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     */
    size: number;
    /**
     * Color of the strip line.
     * @default '#808080'
     */
    color: string;
    /**
     * Dash Array of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     */
    dashArray: string;
    /**
     * Size type of the strip line
     * @blazorType PivotChartSizeType
     * @default Auto
     */
    sizeType: charts.SizeType;
    /**
     * isRepeat value of the strip line.
     * @default false
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     */
    isRepeat: boolean;
    /**
     * repeatEvery value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     */
    repeatEvery: number | Date;
    /**
     * repeatUntil value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     */
    repeatUntil: number | Date;
    /**
     * isSegmented value of the strip line
     * @default false
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     */
    isSegmented: boolean;
    /**
     * segmentStart value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     */
    segmentStart: number | Date;
    /**
     * segmentEnd value of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     */
    segmentEnd: number | Date;
    /**
     * segmentAxisName of the strip line.
     * @default null
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     */
    segmentAxisName: string;
    /**
     * Border of the strip line.
     */
    border: charts.BorderModel;
    /**
     * Strip line text.
     * @default ''
     */
    text: string;
    /**
     * The angle to which the strip line text gets rotated.
     * @default null
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     */
    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.
     * @blazorType PivotChartAnchor
     * @default 'Middle'
     */
    horizontalAlignment: charts.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.
     * @blazorType PivotChartAnchor
     * @default 'Middle'
     */
    verticalAlignment: charts.Anchor;
    /**
     * Options to customize the strip line text.
     */
    textStyle: charts.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.
     * @blazorType PivotChartZIndex
     * @default 'Behind'
     */
    zIndex: charts.ZIndex;
    /**
     * Strip line Opacity
     * @default 1
     */
    opacity: number;
}
export  class PivotChartAxisLabelBorder {
    /**
     * 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
     * @blazorType PivotChartBorderType
     * @default 'Rectangle'
     */
    type: charts.BorderType;
}
/**
 *  third party configures in chart settings.
 */
export  class PivotChartSettingsChartArea {
    /**
     * Options to customize the border of the chart area.
     */
    border: charts.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;
}
export  class PivotChartSettingsCrosshairSettings {
    /**
     * 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: charts.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.
     * @blazorType PivotChartLineType
     * @default Both
     */
    lineType: charts.LineType;
}
export  class PivotChartSettingsLegendSettings {
    /**
     * 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: charts.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.
     * @blazorType PivotChartLegendPosition
     * @default 'Auto'
     */
    position: charts.LegendPosition;
    /**
     * 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 chart.
     * * Center: Aligns the legend to the center of the chart.
     * * Far: Aligns the legend to the right of the chart.
     * @blazorType PivotChartAlignment
     * @default 'Center'
     */
    alignment: charts.Alignment;
    /**
     * Options to customize the legend text.
     */
    textStyle: charts.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: charts.BorderModel;
    /**
     *  Options to customize left, right, top and bottom margins of the chart.
     */
    margin: charts.MarginModel;
    /**
     * Padding between the legend shape and text.
     * @default 5
     */
    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;
    /**
     * Description for legends.
     * @default null
     */
    description: string;
    /**
     * TabIndex value for the legend.
     * @default 3
     */
    tabIndex: number;
}
export  class PivotChartSettingsIndexes {
    /**
     * Specifies the series index
     * @default 0
     * @aspType int
     * @blazorType int
     */
    series: number;
    /**
     * Specifies the point index
     * @default 0
     * @aspType int
     * @blazorType int
     */
    point: number;
}
export  class PivotChartSettingsMargin {
    /**
     * 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 series in charts.
 */
export  class PivotSeries extends base.ChildProperty<PivotSeries> {
    /**
     * The fill color for the series that accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    fill: string;
    /**
     * Options to customizing animation for the series.
     * @default null
     */
    animation: charts.AnimationModel;
    /**
     * 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.
     * @default 1
     */
    width: number;
    /**
     * Defines the axis, based on which the line series will be split.
     */
    segmentAxis: charts.Segment;
    /**
     * Type of series to be drawn in radar or polar series. They are
     *  'Line'
     *  'Column'
     *  'Area'
     *  'Scatter'
     *  'Spline'
     *  'StackingColumn'
     *  'StackingArea'
     *  'RangeColumn'
     *  'SplineArea'
     * @blazorType PivotChartDrawType
     * @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;
    /**
     * Defines the collection of regions that helps to differentiate a line series.
     */
    segments: charts.ChartSegmentModel[];
    /**
     * 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: charts.BorderModel;
    /**
     * Specifies the visibility of series.
     * @default true
     */
    visible: boolean;
    /**
     * The opacity of the series.
     * @default 1
     */
    opacity: number;
    /**
     * The type of the series are
     * * StackingColumn
     * * StackingArea
     * * StackingBar
     * * StepLine
     * * Line
     * * Column
     * * Area
     * * Bar
     * * StepArea
     * * Pareto
     * * Bubble
     * * Scatter
     * * Spline
     * * SplineArea
     * * StackingColumn100
     * * StackingBar100
     * * StackingArea100
     * * Polar
     * * Radar
     * @default 'Line'
     */
    type: ChartSeriesType;
    /**
     * Options for displaying and customizing markers for individual points in a series.
     */
    marker: charts.MarkerSettingsModel;
    /**
     * 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;
    /**
     * Defines the collection of trendlines that are used to predict the trend
     */
    trendlines: charts.TrendlineModel[];
    /**
     * 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
     * * VerticalLine
     * * Pentagon
     * * InvertedTriangle
     * * SeriesType
     * * Triangle
     * * Diamond
     * * Cross
     * * HorizontalLine
     * @blazorType PivotChartLegendShape
     * @default 'SeriesType'
     */
    legendShape: charts.LegendShape;
    /**
     * Minimum radius
     * @default 1
     */
    minRadius: number;
    /**
     * Custom style for the selected series or points.
     * @default null
     */
    selectionStyle: string;
    /**
     * Defines type of spline to be rendered.
     * @blazorType PivotChartSplineType
     * @default 'Natural'
     */
    splineType: charts.SplineType;
    /**
     * Maximum radius
     * @default 3
     */
    maxRadius: number;
    /**
     * It defines tension of cardinal spline types
     * @default 0.5
     */
    cardinalSplineTension: number;
    /**
     * To render the column series points with particular column width.
     * @default null
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     */
    columnWidth: number;
    /**
     * options to customize the empty points in series
     */
    emptyPointSettings: charts.EmptyPointSettingsModel;
    /**
     * To render the column series points with particular rounded corner.
     */
    cornerRadius: charts.CornerRadiusModel;
    /**
     * To render the column series points with particular column spacing. It takes value from 0 - 1.
     * @default 0
     */
    columnSpacing: number;
}
/**
 * Configures the axes in charts.
 */
export  class PivotAxis extends base.ChildProperty<PivotAxis> {
    /**
     * Specifies 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.
     * @blazorType PivotChartLabelIntersectAction
     * @default Rotate45
     */
    labelIntersectAction: charts.LabelIntersectAction;
    /**
     * Options to customize the axis label.
     */
    labelStyle: charts.FontModel;
    /**
     * Specifies the title of an axis.
     * @default ''
     */
    title: string;
    /**
     * Options to customize the crosshair ToolTip.
     */
    crosshairTooltip: charts.CrosshairTooltipModel;
    /**
     * 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;
    /**
     * Options for customizing the axis title.
     */
    titleStyle: charts.FontModel;
    /**
     * Specifies indexed category  axis.
     * @default false
     */
    isIndexed: boolean;
    /**
     * Left and right padding for the plot area in pixels.
     * @default 0
     */
    plotOffset: number;
    /**
     * Specifies 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.
     * @blazorType PivotChartEdgeLabelPlacement
     * @default 'None'
     */
    edgeLabelPlacement: charts.EdgeLabelPlacement;
    /**
     * Specifies the placement of a label for category axis. They are,
     * * onTicks: Renders the label on the ticks.
     * * betweenTicks: Renders the label between the ticks.
     * @blazorType PivotChartLabelPlacement
     * @default 'BetweenTicks'
     */
    labelPlacement: charts.LabelPlacement;
    /**
     * Specifies 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.
     * @blazorType PivotChartAxisPosition
     * @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;
    /**
     * Specifies 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.
     * @blazorType PivotChartAxisPosition
     * @default 'Outside'
     */
    labelPosition: charts.AxisPosition;
    /**
     * 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 maximum range of an axis.
     * @default null
     */
    maximum: Object;
    /**
     * Specifies the minimum range of an axis.
     * @default null
     */
    minimum: Object;
    /**
     * Specifies the maximum width of an axis label.
     * @default 34.
     */
    maximumLabelWidth: number;
    /**
     * Specifies the interval for an axis.
     * @default null
     * @aspDefaultValueIgnore
     * @blazorDefaultValueIgnore
     */
    interval: number;
    /**
     * Options for customizing major tick lines.
     */
    majorTickLines: charts.MajorTickLinesModel;
    /**
     * Specifies the Trim property for an axis.
     * @default false
     */
    enableTrim: boolean;
    /**
     * Options for customizing major grid lines.
     */
    majorGridLines: charts.MajorGridLinesModel;
    /**
     * Options for customizing minor tick lines.
     */
    minorTickLines: charts.MinorTickLinesModel;
    /**
     * Options for customizing axis lines.
     */
    lineStyle: charts.AxisLineModel;
    /**
     * Options for customizing minor grid lines.
     */
    minorGridLines: charts.MinorGridLinesModel;
    /**
     * It specifies whether the axis to be rendered in inversed manner or not.
     * @default false
     */
    isInversed: boolean;
    /**
     * Description for axis and its element.
     * @default null
     */
    description: string;
    /**
     * The start angle for the series.
     * @default 0
     */
    startAngle: number;
    /**
     * The polar radar radius position.
     * @default 100
     */
    coefficient: number;
    /**
     * Specifies the stripLine collection for the axis
     */
    stripLines: charts.StripLineSettingsModel[];
    /**
     * TabIndex value for the axis.
     * @default 2
     */
    tabIndex: number;
    /**
     * Border of the multi level labels.
     */
    border: charts.LabelBorderModel;
}
/**
 * Configures the ToolTips in the chart.
 */
export  class PivotTooltipSettings extends base.ChildProperty<PivotTooltipSettings> {
    /**
     * Enables / Disables the visibility of the marker.
     * @default false.
     */
    enableMarker: boolean;
    /**
     * Enables / Disables the visibility of the tooltip.
     * @default true.
     */
    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;
    /**
     * 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 0.75
     */
    opacity: number;
    /**
     * Header for tooltip.
     * @default null
     */
    header: string;
    /**
     * Format the ToolTip content.
     * @default null.
     */
    format: string;
    /**
     * Options to customize the ToolTip text.
     */
    textStyle: charts.FontModel;
    /**
     * 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;
    /**
     * 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;
}
/**
 * Configures the zooming behavior for the chart.
 */
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;
    /**
     * Specifies 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'
     *    }
     * ...
     * @blazorType PivotChartZoomMode
     * @default 'XY'
     */
    mode: charts.ZoomMode;
    /**
     * Specifies the toolkit options for the zooming as follows:
     * * ZoomIn
     * * ZoomOut
     * * Pan
     * * Zoom
     * * Reset
     * @blazorType List<PivotChartToolbarItems>
     * @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;
}
/**
 *  Configures the chart settings.
 */
export  class ChartSettings extends base.ChildProperty<ChartSettings> {
    /**
     * Options to configures the series of chart.
     */
    chartSeries: PivotSeriesModel;
    /**
     * Options to configure the horizontal axis of chart.
     */
    primaryXAxis: PivotAxisModel;
    /**
     * Options to configure the vertical axis of chart.
     */
    primaryYAxis: PivotAxisModel;
    /**
     * Defines the measure to load in chart
     * @default ''
     */
    value: string;
    /**
     * Defines the measure to load in chart
     * @default false
     */
    enableMultiAxis: boolean;
    /**
     * Options for customizing the title of the Chart.
     */
    titleStyle: charts.FontModel;
    /**
     * Title of the chart
     * @default ''
     */
    title: string;
    /**
     * Options for customizing the Subtitle of the Chart.
     */
    subTitleStyle: charts.FontModel;
    /**
     * SubTitle of the chart
     * @default ''
     */
    subTitle: string;
    /**
     * Options for customizing the color and width of the chart border.
     */
    border: charts.BorderModel;
    /**
     *  Options to customize left, right, top and bottom margins of the chart.
     */
    margin: charts.MarginModel;
    /**
     * Options for configuring the border and background of the chart area.
     */
    chartArea: charts.ChartAreaModel;
    /**
     * The background color of the chart that accepts value in hex and rgba as a valid CSS color string.
     * @default null
     */
    background: string;
    /**
     * Specifies the theme for the chart.
     * @blazorType PivotChartTheme
     * @default 'Material'
     */
    theme: charts.ChartTheme;
    /**
     * Palette for the chart series.
     * @default []
     */
    palettes: string[];
    /**
     * Options for customizing the crosshair of the chart.
     */
    crosshair: charts.CrosshairSettingsModel;
    /**
     * Options for customizing the tooltip of the chart.
     */
    tooltip: PivotTooltipSettingsModel;
    /**
     * Options to enable the zooming feature in the chart.
     */
    zoomSettings: PivotZoomSettingsModel;
    /**
     * Options for customizing the legend of the chart.
     */
    legendSettings: charts.LegendSettingsModel;
    /**
     * Specifies whether series or data point has to be selected. They 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;
    /**
     * To enable1 export feature in chart.
     * @default true
     */
    enableExport: boolean;
    /**
     * If set true, enables the multi selection in chart. It requires `selectionMode` to be `Point` | `Series` | or `Cluster`.
     * @default false
     */
    isMultiSelect: boolean;
    /**
     * Specifies the point indexes to be selected while loading a chart.
     * It requires `selectionMode` to be `Point` | `Series`.
     * ...
     *   selectionMode: 'Point',
     *   selectedDataIndexes: [ { series: 0, point: 1},
     *                          { series: 2, point: 3} ],
     * ...
     * @default []
     */
    selectedDataIndexes: charts.IndexesModel[];
    /**
     * If set true, Animation process will be executed.
     * @default true
     */
    enableAnimation: boolean;
    /**
     * Specifies whether a grouping separator should be used for a number.
     * @default true
     */
    useGroupingSeparator: boolean;
    /**
     * It specifies whether the chart should be render in transposed manner or not.
     * @default false
     */
    isTransposed: boolean;
    /**
     * TabIndex value for the chart.
     * @default 1
     */
    tabIndex: number;
    /**
     * Description for chart.
     * @default null
     */
    description: string;
    /**
     * Triggers after resizing of chart
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IResizeEventArgs
     * @deprecated
     */
    resized: base.EmitType<charts.IResizeEventArgs>;
    /**
     * To enable the side by side placing the points for column type series.
     * @default true
     */
    enableSideBySidePlacement: boolean;
    /**
     * Triggers after chart load.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.ILoadedEventArgs
     * @deprecated
     */
    loaded: base.EmitType<charts.ILoadedEventArgs>;
    /**
     * Triggers before the prints gets started.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IPrintEventArgs
     * @deprecated
     */
    beforePrint: base.EmitType<charts.IPrintEventArgs>;
    /**
     * Triggers after animation is completed for the series.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IAnimationCompleteEventArgs
     * @deprecated
     */
    animationComplete: base.EmitType<charts.IAnimationCompleteEventArgs>;
    /**
     * Triggers before chart load.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.ILoadedEventArgs
     * @deprecated
     */
    load: base.EmitType<charts.ILoadedEventArgs>;
    /**
     * Triggers before the data label for series is rendered.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.ITextRenderEventArgs
     * @deprecated
     */
    textRender: base.EmitType<charts.ITextRenderEventArgs>;
    /**
     * Triggers before the legend is rendered.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.ILegendRenderEventArgs
     * @deprecated
     */
    legendRender: base.EmitType<charts.ILegendRenderEventArgs>;
    /**
     * Triggers before the series is rendered.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.ISeriesRenderEventArgs
     * @deprecated
     */
    seriesRender: base.EmitType<charts.ISeriesRenderEventArgs>;
    /**
     * Triggers before each points for the series is rendered.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IPointRenderEventArgs
     * @deprecated
     */
    pointRender: base.EmitType<charts.IPointRenderEventArgs>;
    /**
     * Triggers before the tooltip for series is rendered.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.ITooltipRenderEventArgs
     * @deprecated
     */
    tooltipRender: base.EmitType<charts.ITooltipRenderEventArgs>;
    /**
     * Triggers before each axis label is rendered.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IAxisLabelRenderEventArgs
     * @deprecated
     */
    axisLabelRender: base.EmitType<charts.IAxisLabelRenderEventArgs>;
    /**
     * Triggers on clicking the chart.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IMouseEventArgs
     * @deprecated
     */
    chartMouseClick: base.EmitType<charts.IMouseEventArgs>;
    /**
     * Triggers on hovering the chart.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IMouseEventArgs
     * @deprecated
     */
    chartMouseMove: base.EmitType<charts.IMouseEventArgs>;
    /**
     * Triggers on point move.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IPointEventArgs
     * @deprecated
     */
    pointMove: base.EmitType<charts.IPointEventArgs>;
    /**
     * Triggers on point click.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IPointEventArgs
     * @deprecated
     */
    pointClick: base.EmitType<charts.IPointEventArgs>;
    /**
     * Triggers on mouse down.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IMouseEventArgs
     * @deprecated
     */
    chartMouseDown: base.EmitType<charts.IMouseEventArgs>;
    /**
     * Triggers when cursor leaves the chart.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IMouseEventArgs
     * @deprecated
     */
    chartMouseLeave: base.EmitType<charts.IMouseEventArgs>;
    /**
     * Triggers after the drag selection is completed.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IDragCompleteEventArgs
     * @deprecated
     */
    dragComplete: base.EmitType<charts.IDragCompleteEventArgs>;
    /**
     * Triggers on mouse up.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IMouseEventArgs
     * @deprecated
     */
    chartMouseUp: base.EmitType<charts.IMouseEventArgs>;
    /**
     * Triggers when start the scroll.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IScrollEventArgs
     * @deprecated
     */
    scrollStart: base.EmitType<charts.IScrollEventArgs>;
    /**
     * Triggers after the zoom selection is completed.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IZoomCompleteEventArgs
     * @deprecated
     */
    zoomComplete: base.EmitType<charts.IZoomCompleteEventArgs>;
    /**
     * Triggers when change the scroll.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IScrollEventArgs
     * @deprecated
     */
    scrollChanged: base.EmitType<charts.IScrollEventArgs>;
    /**
     * Triggers after the scroll end.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Charts.charts.IScrollEventArgs
     * @deprecated
     */
    scrollEnd: base.EmitType<charts.IScrollEventArgs>;
    /**
     * Specifies whether to show multilevel labels in 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 {
    /**
     * It allows to set field name.
     */
    name?: string;
    /**
     * It allows to set field caption.
     */
    caption?: string;
    /**
     * It allows to set the summary type of the field. The available types are,
     * * `Sum`: The summary cells calculated by the sum of its cells. 
     * * `Count`: The summary cells calculated by the count of its cells.
     * * `Min`: The summary cells shows the value which is the minimum value of its cells. 
     * * `Max`: The summary cells shows the value which is the maximum value of its cells.
     * * `Percentage`: The summary cells displays in percentage format.
     * * `Avg`: The summary cells calculated by the average of its cells.
     * * `CalculatedField`: It should set to include calculated fields.
     * @default Sum
     */
    type?: SummaryTypes;
    /**
     * It allows to set the axis to render the field in it.
     */
    axis?: string;
    /**
     * It allows to display all the items of its field even any items haven't data in its row/column intersection in data source.
     * @default false
     */
    showNoDataItems?: boolean;
    /**
     * It allows to set the base field to aggregate the values.
     */
    baseField?: string;
    /**
     * It allows to set the base item to aggregate the values.
     */
    baseItem?: string;
    /**
     * It allows to disable or enable sub totals in row/column axis.
     * @default true
     */
    showSubTotals?: boolean;
    /**
     * It allows to show a field has named set type.
     * Note: This option is applicable only for OLAP data source.
     * @default false
     */
    isNamedSet?: boolean;
    /**
     * It allows to show a field has calculated member type.
     * Note: This option is applicable only for OLAP data source.
     * @default false
     */
    isCalculatedField?: boolean;
}
/**
 * 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.
     */
    backgroundColor?: string;
    /**
     * It allows to set the color.
     */
    color?: string;
    /**
     * It allows to set the font family.
     */
    fontFamily?: string;
    /**
     * It allows to set the font size.
     */
    fontSize?: string;
}
/**
 * Interface for a class Filter
 */
export interface FilterModel {
    /**
     * It allows to set the field name.
     */
    name?: string;
    /**
     * It allows to set the filter type.
     * @default Include
     */
    type?: FilterType;
    /**
     * It allows to set the filter items.
     */
    items?: string[];
    /**
     * It allows to set the filter conditions to the field.
     * @default DoesNotEquals
     */
    condition?: Operators;
    /**
     * It allows to set filter operand value for condition evaluation with single label.
     */
    value1?: string | Date;
    /**
     * It allows to set filter operand value for between condition evaluation.
     */
    value2?: string | Date;
    /**
     * It allows to set value field for evaluation using conditions and operands.
     */
    measure?: string;
    /**
     * It allows to set level count of the field to fetch data from the cube.
     * Note: This option is applicable only for user-defined hierarchies.
     * @default 1
     */
    levelCount?: number;
    /**
     * It allows to set level name of a dimension, where the filtering settings to be applied.
     * Note: This option is applicable only for user-defined hierarchies.
     */
    selectedField?: string;
}
/**
 * Interface for a class ConditionalFormatSettings
 */
export interface ConditionalFormatSettingsModel {
    /**
     * It allows to set the field name to apply conditional format.
     */
    measure?: string;
    /**
     * It allows to set the label name to apply conditional format.
     */
    label?: string;
    /**
     * It allows to set the conditions to apply format.
     */
    conditions?: Condition;
    /**
     * It allows to set the value1 to apply format.
     */
    value1?: number;
    /**
     * It allows to set the value2 to apply format.
     */
    value2?: number;
    /**
     * It allows to set the style to apply.
     */
    style?: IStyle;
    /**
     * It allows to apply conditional formatting to grand total
     */
    applyGrandTotals?: boolean;
}
/**
 * Interface for a class Sort
 */
export interface SortModel {
    /**
     * It allows to set the field name to sort.
     */
    name?: string;
    /**
     * It allows to set the sort 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;
}
/**
 * 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 in formatted value.
     */
    minimumFractionDigits?: number;
    /**
     * It allows to specify maximum fraction digits in formatted value.
     */
    maximumFractionDigits?: number;
    /**
     * It allows to specify minimum significant digits in formatted value.
     */
    minimumSignificantDigits?: number;
    /**
     * It allows to specify maximum significant digits in formatted value.
     */
    maximumSignificantDigits?: number;
    /**
     * It allows to specify whether to use grouping or not in formatted value,
     * @default true
     */
    useGrouping?: boolean;
    /**
     * It allows to specify the skeleton for perform 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 in 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 field name to apply group settings.
     */
    name?: string;
    /**
     * It allows to set the group interval for group field.
     */
    groupInterval?: DateGroup[];
    /**
     * It allows to set the start time of group field.
     */
    startingAt?: string | Date | number;
    /**
     * It allows to set the end time of group field.
     */
    endingAt?: string | Date | number;
    /**
     * It allows to set the type of field.
     * @default Date
     */
    type?: GroupType;
    /**
     * It allows to set the interval range of group field.
     */
    rangeInterval?: number;
}
/**
 * Interface for a class CalculatedFieldSettings
 */
export interface CalculatedFieldSettingsModel {
    /**
     * It allows to set the field name to sort.
     */
    name?: string;
    /**
     * It allows to set the formula for calculated fields. 
     */
    formula?: string;
    /**
     * It allows to set hierarchy unique name, that used to create calculated member.
     * Note: This option is applicable only for OLAP data source.
     */
    hierarchyUniqueName?: string;
    /**
     * It allows to set format string that used to create calculated member.
     * Note: This option 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 drilled.
     */
    name?: string;
    /**
     * It allows to set the members to be drilled.
     */
    items?: string[];
    /**
     * It allows to set the delimiter.
     */
    delimiter?: string;
}
/**
 * Interface for a class ValueSortSettings
 */
export interface ValueSortSettingsModel {
    /**
     * It allows to set the members name to achieve value sorting based on this.
     */
    headerText?: string;
    /**
     * It allows to set the delimiters to separate the members.
     * @default '.'
     */
    headerDelimiter?: string;
    /**
     * It allows to set the sort 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.
     * @default None
     */
    sortOrder?: Sorting;
    /**
     * It allows to set the measure name to achieve value sorting based on this.
     */
    measure?: string;
}
/**
 * Interface for a class DataSourceSettings
 */
export interface DataSourceSettingsModel {
    /**
     * It allows to set the cube catalog name.
     */
    catalog?: string;
    /**
     * It allows to set the cube name.
     */
    cube?: string;
    /**
     * It allows to set the provider type.
     * @default Relational
     */
    providerType?: ProviderType;
    /**
     * It allows to set the url string.
     */
    url?: string;
    /**
     * It allows to set the locale code.
     * @default 1033
     */
    localeIdentifier?: number;
    /**
     * It allows to set the data source.
     * @isGenericType true
     */
    dataSource?: IDataSet[] | data.DataManager;
    /**
     * It allows to set the row fields.
     * @default []
     */
    rows?: FieldOptionsModel[];
    /**
     * It allows to set the column fields.
     * @default []
     */
    columns?: FieldOptionsModel[];
    /**
     * It allows to set the value fields.
     * @default []
     */
    values?: FieldOptionsModel[];
    /**
     * It allows to set the filter fields.
     * @default []
     */
    filters?: FieldOptionsModel[];
    /**
     * It allows to hide fields from fieldlist.
     * @default []
     */
    excludeFields?: string[];
    /**
     * It allows to set the expanded state of headers.
     * @default false
     */
    expandAll?: boolean;
    /**
     * It allows to set the value fields in both column and row axis.
     * @default 'column'
     */
    valueAxis?: string;
    /**
     * It allows to set the settings of filtering operation.
     * @default []
     */
    filterSettings?: FilterModel[];
    /**
     * It allows to set the settings of sorting operation.
     * @default []
     */
    sortSettings?: SortModel[];
    /**
     * It allows sorting operation UI.
     * @default true
     */
    enableSorting?: boolean;
    /**
     * It allows excel-like label filtering operation.
     * @default false
     */
    allowLabelFilter?: boolean;
    /**
     * It allows excel-like value filtering operation.
     * @default false
     */
    allowValueFilter?: boolean;
    /**
     * It allows enable/disable sub total in pivot table.
     * @default true
     */
    showSubTotals?: boolean;
    /**
     * It allows enable/disable row sub total in pivot table.
     * @default true
     */
    showRowSubTotals?: boolean;
    /**
     * It allows enable/disable column sub total in pivot table.
     * @default true
     */
    showColumnSubTotals?: boolean;
    /**
     * It allows enable/disable grand total in pivot table.
     * @default true
     */
    showGrandTotals?: boolean;
    /**
     * It allows enable/disable row grand total in pivot table.
     * @default true
     */
    showRowGrandTotals?: boolean;
    /**
     * It allows enable/disable column grand total in pivot table.
     * @default true
     */
    showColumnGrandTotals?: boolean;
    /**
     * It allows enable/disable single measure headers in pivot table.
     * @default false
     */
    alwaysShowValueHeader?: boolean;
    /**
     * If `showHeaderWhenEmpty` is set to false, then it will hide blank headers in pivot table.
     * @default true
     */
    showHeaderWhenEmpty?: boolean;
    /**
     * It allows enable/disable show aggregation on PivotButton.
     * @default true
     */
    showAggregationOnValueField?: boolean;
    /**
     * It allows to set the settings of number formatting.
     * @default []
     */
    formatSettings?: FormatSettingsModel[];
    /**
     * It allows to set the drilled state for desired field members.
     * @default []
     */
    drilledMembers?: DrillOptionsModel[];
    /**
     * It allows to set the settings of value sorting operation.
     */
    valueSortSettings?: ValueSortSettingsModel;
    /**
     * It allows to set the settings of calculated field operation.
     * @default []
     */
    calculatedFieldSettings?: CalculatedFieldSettingsModel[];
    /**
     * It allows to set the settings of Conditional Format operation.
     * @default []
     */
    conditionalFormatSettings?: ConditionalFormatSettingsModel[];
    /**
     * It allows to set the custom values to empty value cells .
     */
    emptyCellsTextContent?: string;
    /**
     * It allows to set the settings for grouping the date.
     * @default []
     */
    groupSettings?: GroupSettingsModel[];
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/model/datasourcesettings.d.ts
/**
 * Configures the fields in dataSource.
 */
export  class FieldOptions extends base.ChildProperty<FieldOptions> implements IFieldOptions {
    /**
     * It allows to set field name.
     */
    name: string;
    /**
     * It allows to set field caption.
     */
    caption: string;
    /**
     * It allows to set the summary type of the field. The available types are,
     * * `Sum`: The summary cells calculated by the sum of its cells.
     * * `Count`: The summary cells calculated by the count of its cells.
     * * `Min`: The summary cells shows the value which is the minimum value of its cells.
     * * `Max`: The summary cells shows the value which is the maximum value of its cells.
     * * `Percentage`: The summary cells displays in percentage format.
     * * `Avg`: The summary cells calculated by the average of its cells.
     * * `CalculatedField`: It should set to include calculated fields.
     * @default Sum
     */
    type: SummaryTypes;
    /**
     * It allows to set the axis to render the field in it.
     */
    axis: string;
    /**
     * It allows to display all the items of its field even any items haven't data in its row/column intersection in data source.
     * @default false
     */
    showNoDataItems: boolean;
    /**
     * It allows to set the base field to aggregate the values.
     */
    baseField: string;
    /**
     * It allows to set the base item to aggregate the values.
     */
    baseItem: string;
    /**
     * It allows to disable or enable sub totals in row/column axis.
     * @default true
     */
    showSubTotals: boolean;
    /**
     * It allows to show a field has named set type.
     * Note: This option is applicable only for OLAP data source.
     * @default false
     */
    isNamedSet: boolean;
    /**
     * It allows to show a field has calculated member type.
     * Note: This option is applicable only for OLAP data source.
     * @default false
     */
    isCalculatedField: boolean;
}
export  class FieldListFieldOptions extends FieldOptions {
}
/**
 * Configures the style settings.
 */
export  class Style extends base.ChildProperty<Style> implements IStyle {
    /**
     * It allows to set the background color.
     */
    backgroundColor: string;
    /**
     * It allows to set the color.
     */
    color: string;
    /**
     * It allows to set the font family.
     */
    fontFamily: string;
    /**
     * It allows to set the font size.
     */
    fontSize: string;
}
/**
 * Configures the filter settings.
 */
export  class Filter extends base.ChildProperty<Filter> implements IFilter {
    /**
     * It allows to set the field name.
     */
    name: string;
    /**
     * It allows to set the filter type.
     * @default Include
     */
    type: FilterType;
    /**
     * It allows to set the filter items.
     */
    items: string[];
    /**
     * It allows to set the filter conditions to the field.
     * @default DoesNotEquals
     */
    condition: Operators;
    /**
     * It allows to set filter operand value for condition evaluation with single label.
     */
    value1: string | Date;
    /**
     * It allows to set filter operand value for between condition evaluation.
     */
    value2: string | Date;
    /**
     * It allows to set value field for evaluation using conditions and operands.
     */
    measure: string;
    /**
     * It allows to set level count of the field to fetch data from the cube.
     * Note: This option is applicable only for user-defined hierarchies.
     * @default 1
     */
    levelCount: number;
    /**
     * It allows to set level name of a dimension, where the filtering settings to be applied.
     * Note: This option is applicable only for user-defined hierarchies.
     */
    selectedField: string;
}
/**
 * Configures the conditional format settings.
 */
export  class ConditionalFormatSettings extends base.ChildProperty<ConditionalFormatSettings> implements IConditionalFormatSettings {
    /**
     * It allows to set the field name to apply conditional format.
     */
    measure: string;
    /**
     * It allows to set the label name to apply conditional format.
     */
    label: string;
    /**
     * It allows to set the conditions to apply format.
     */
    conditions: Condition;
    /**
     * It allows to set the value1 to apply format.
     */
    value1: number;
    /**
     * It allows to set the value2 to apply format.
     */
    value2: number;
    /**
     * It allows to set the style to apply.
     */
    style: IStyle;
    /**
     * It allows to apply conditional formatting to grand total
     */
    applyGrandTotals: boolean;
}
/**
 * Configures the sort settings.
 */
export  class Sort extends base.ChildProperty<Sort> implements ISort {
    /**
     * It allows to set the field name to sort.
     */
    name: string;
    /**
     * It allows to set the sort 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;
}
/**
 * Configures the format settings of value fields.
 */
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 in formatted value.
     */
    minimumFractionDigits: number;
    /**
     * It allows to specify maximum fraction digits in formatted value.
     */
    maximumFractionDigits: number;
    /**
     * It allows to specify minimum significant digits in formatted value.
     */
    minimumSignificantDigits: number;
    /**
     * It allows to specify maximum significant digits in formatted value.
     */
    maximumSignificantDigits: number;
    /**
     * It allows to specify whether to use grouping or not in formatted value,
     * @default true
     */
    useGrouping: boolean;
    /**
     * It allows to specify the skeleton for perform 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 in formatted value.
     */
    minimumIntegerDigits: number;
    /**
     * It allows to specify custom number format for formatting.
     */
    format: string;
}
/**
 * Configures the group settings of fields.
 */
export  class GroupSettings extends base.ChildProperty<GroupSettings> implements IGroupSettings {
    /**
     * It allows to set the field name to apply group settings.
     */
    name: string;
    /**
     * It allows to set the group interval for group field.
     */
    groupInterval: DateGroup[];
    /**
     * It allows to set the start time of group field.
     */
    startingAt: string | Date | number;
    /**
     * It allows to set the end time of group field.
     */
    endingAt: string | Date | number;
    /**
     * It allows to set the type of field.
     * @default Date
     */
    type: GroupType;
    /**
     * It allows to set the interval range of group field.
     */
    rangeInterval: number;
}
/**
 * Configures the calculatedfields settings.
 */
export  class CalculatedFieldSettings extends base.ChildProperty<CalculatedFieldSettings> implements ICalculatedFieldSettings {
    /**
     * It allows to set the field name to sort.
     */
    name: string;
    /**
     * It allows to set the formula for calculated fields.
     */
    formula: string;
    /**
     * It allows to set hierarchy unique name, that used to create calculated member.
     * Note: This option is applicable only for OLAP data source.
     */
    hierarchyUniqueName: string;
    /**
     * It allows to set format string that used to create calculated member.
     * Note: This option is applicable only for OLAP data source.
     */
    formatString: string;
}
/**
 * Configures drilled state of field members.
 */
export  class DrillOptions extends base.ChildProperty<DrillOptions> implements IDrillOptions {
    /**
     * It allows to set the field name whose members to be drilled.
     */
    name: string;
    /**
     * It allows to set the members to be drilled.
     */
    items: string[];
    /**
     * It allows to set the delimiter.
     */
    delimiter: string;
}
/**
 * Configures value sort settings.
 */
export  class ValueSortSettings extends base.ChildProperty<ValueSortSettings> implements IValueSortSettings {
    /**
     * It allows to set the members name to achieve value sorting based on this.
     */
    headerText: string;
    /**
     * It allows to set the delimiters to separate the members.
     * @default '.'
     */
    headerDelimiter: string;
    /**
     * It allows to set the sort 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.
     * @default None
     */
    sortOrder: Sorting;
    /** @hidden */
    columnIndex: number;
    /**
     * It allows to set the measure name to achieve value sorting based on this.
     */
    measure: string;
}
/**
 * Configures the settings of dataSource.
 */
export  class DataSourceSettings extends base.ChildProperty<DataSourceSettings> implements IDataOptions {
    /**
     * It allows to set the cube catalog name.
     */
    catalog: string;
    /**
     * It allows to set the cube name.
     */
    cube: string;
    /**
     * It allows to set the provider type.
     * @default Relational
     */
    providerType: ProviderType;
    /**
     * It allows to set the url string.
     */
    url: string;
    /**
     * It allows to set the locale code.
     * @default 1033
     */
    localeIdentifier: number;
    /**
     * It allows to set the data source.
     * @isGenericType true
     */
    dataSource: IDataSet[] | data.DataManager;
    /**
     * It allows to set the row fields.
     * @default []
     */
    rows: FieldOptionsModel[];
    /**
     * It allows to set the column fields.
     * @default []
     */
    columns: FieldOptionsModel[];
    /**
     * It allows to set the value fields.
     * @default []
     */
    values: FieldOptionsModel[];
    /**
     * It allows to set the filter fields.
     * @default []
     */
    filters: FieldOptionsModel[];
    /**
     * It allows to hide fields from fieldlist.
     * @default []
     */
    excludeFields: string[];
    /**
     * It allows to set the expanded state of headers.
     * @default false
     */
    expandAll: boolean;
    /**
     * It allows to set the value fields in both column and row axis.
     * @default 'column'
     */
    valueAxis: string;
    /**
     * It allows to set the settings of filtering operation.
     * @default []
     */
    filterSettings: FilterModel[];
    /**
     * It allows to set the settings of sorting operation.
     * @default []
     */
    sortSettings: SortModel[];
    /**
     * It allows sorting operation UI.
     * @default true
     */
    enableSorting: boolean;
    /**
     * It allows excel-like label filtering operation.
     * @default false
     */
    allowLabelFilter: boolean;
    /**
     * It allows excel-like value filtering operation.
     * @default false
     */
    allowValueFilter: boolean;
    /**
     * It allows enable/disable sub total in pivot table.
     * @default true
     */
    showSubTotals: boolean;
    /**
     * It allows enable/disable row sub total in pivot table.
     * @default true
     */
    showRowSubTotals: boolean;
    /**
     * It allows enable/disable column sub total in pivot table.
     * @default true
     */
    showColumnSubTotals: boolean;
    /**
     * It allows enable/disable grand total in pivot table.
     * @default true
     */
    showGrandTotals: boolean;
    /**
     * It allows enable/disable row grand total in pivot table.
     * @default true
     */
    showRowGrandTotals: boolean;
    /**
     * It allows enable/disable column grand total in pivot table.
     * @default true
     */
    showColumnGrandTotals: boolean;
    /**
     * It allows enable/disable single measure headers in pivot table.
     * @default false
     */
    alwaysShowValueHeader: boolean;
    /**
     * If `showHeaderWhenEmpty` is set to false, then it will hide blank headers in pivot table.
     * @default true
     */
    showHeaderWhenEmpty: boolean;
    /**
     * It allows enable/disable show aggregation on PivotButton.
     * @default true
     */
    showAggregationOnValueField: boolean;
    /**
     * It allows to set the settings of number formatting.
     * @default []
     */
    formatSettings: FormatSettingsModel[];
    /**
     * It allows to set the drilled state for desired field members.
     * @default []
     */
    drilledMembers: DrillOptionsModel[];
    /**
     * It allows to set the settings of value sorting operation.
     */
    valueSortSettings: ValueSortSettingsModel;
    /**
     * It allows to set the settings of calculated field operation.
     * @default []
     */
    calculatedFieldSettings: CalculatedFieldSettingsModel[];
    /**
     * It allows to set the settings of Conditional Format operation.
     * @default []
     */
    conditionalFormatSettings: ConditionalFormatSettingsModel[];
    /**
     * It allows to set the custom values to empty value cells .
     */
    emptyCellsTextContent: string;
    /**
     * It allows to set the settings for grouping the date.
     * @default []
     */
    groupSettings: GroupSettingsModel[];
}
//node_modules/@syncfusion/ej2-pivotview/src/pivotview/model/gridsettings-model.d.ts
/**
 * Interface for a class PivotSelectionSettings
 */
export interface PivotSelectionSettingsModel {
    /**
      * 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
      */
    cellSelectionMode?: PivotCellSelectionMode;
    /**
      * 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. 
      * @blazorType PivotSelectionType
      * @default Single 
      */
    type?: grids.SelectionType;
    /**
      * If 'checkboxOnly' set to true, then the 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 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.
      * @blazorType PivotCheckboxSelectionType
      * @default Default
      */
    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;
}
/**
 * Interface for a class GridSettings
 */
export interface GridSettingsModel {
    /**
      * Defines the content height of Grid.
      * @default 'auto'
      */
    height?: number | string;
    /**
      * Defines the content width of Grid.
      * @default 'auto'
      */
    width?: number | string;
    /**
      * 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.
      * @blazorType PivotGridLine
      * @default Both
      */
    gridLines?: grids.GridLine;
    /**
      * 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;
    /**
      * 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.
      * @default false
      */
    allowReordering?: boolean;
    /**
      * If `allowResizing` is set to true, Grid columns can be resized.
      * @default true
      */
    allowResizing?: boolean;
    /**
      * Defines the height of Grid rows.
      * @default null
      */
    rowHeight?: number;
    /**
      * Defines the height of Grid rows.
      * @default 110
      */
    columnWidth?: number;
    /**
      * 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.
      * @blazorType PivotClipMode
      * @default Ellipsis
      */
    clipMode?: grids.ClipMode;
    /**
      * If `allowSelection` is set to true, it allows selection of (highlight row) Grid records by clicking it.
      * @default false
      */
    allowSelection?: boolean;
    /**
      * 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?: grids.SelectionSettingsModel | SelectionSettings;
    /**
      * Configures the text wrap settings of the Grid.
      * @default { WrapMode: 'Both'}
      */
    textWrapSettings?: grids.TextWrapSettings;
    /**
      * Defines the print modes. The available print modes are
      * * `AllPages`: Prints all pages of the Grid.
      * * `CurrentPage`: Prints the current page of the Grid.
      * @blazorType PivotPrintMode
      * @default AllPages
      */
    printMode?: grids.PrintMode;
    /**
      * `contextMenuItems` defines both built-in and custom context menu items.
      * @blazorType List<PivotContextMenuItem>       
      * @default null
      */
    contextMenuItems?: PivotContextMenuItem[] | grids.ContextMenuItemModel[];
    /**
      * Triggers before Grid copy action.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.BeforeCopyEventArgs
      * @deprecated
      */
    beforeCopy?: base.EmitType<grids.BeforeCopyEventArgs>;
    /**
      * Triggers after print action is completed.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.PrintEventArgs
      * @deprecated
      */
    printComplete?: base.EmitType<grids.PrintEventArgs>;
    /**
      * Triggers before the print action starts.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.PrintEventArgs
      * @deprecated
      */
    beforePrint?: base.EmitType<grids.PrintEventArgs>;
    /**
      * Triggers before context menu opens.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Navigations.navigations.BeforeOpenCloseMenuEventArgs
      * @deprecated
      */
    contextMenuOpen?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
      * Triggers when click on context menu.
      * @event
      * @blazorProperty 'ContextMenuItemClicked'
      * @blazorType Syncfusion.EJ2.Blazor.Navigations.navigations.MenuEventArgs
      * @deprecated
      */
    contextMenuClick?: base.EmitType<navigations.MenuEventArgs>;
    /**
      * 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
      * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.QueryCellInfoEventArgs<TValue>
      * @deprecated
      */
    queryCellInfo?: base.EmitType<grids.QueryCellInfoEventArgs>;
    /**
      * Triggered for column header.
      * This will be triggered before the cell element is appended to the Grid element.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.HeaderCellInfoEventArgs
      * @deprecated
      */
    headerCellInfo?: base.EmitType<grids.HeaderCellInfoEventArgs>;
    /**
      * Triggers before row selection occurs.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.RowSelectEventArgs<TValue>
      * @deprecated
      */
    rowSelecting?: base.EmitType<grids.RowSelectEventArgs>;
    /**
      * Triggers after a row is selected.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.RowSelectEventArgs<TValue>
      * @deprecated
      */
    rowSelected?: base.EmitType<grids.RowSelectEventArgs>;
    /**
      * Triggers before deselecting the selected row.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.RowDeselectEventArgs<TValue>
      * @deprecated
      */
    rowDeselecting?: base.EmitType<grids.RowDeselectEventArgs>;
    /**
      * Triggers when a selected row is deselected.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.RowDeselectEventArgs<TValue>
      * @deprecated
      */
    rowDeselected?: base.EmitType<grids.RowDeselectEventArgs>;
    /**
      * Triggers before any cell selection occurs.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.CellSelectingEventArgs<TValue>
      * @deprecated
      */
    cellSelecting?: base.EmitType<grids.CellSelectingEventArgs>;
    /**
      * Triggers after a cell is selected.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.CellSelectEventArgs<TValue>
      * @deprecated
      */
    cellSelected?: base.EmitType<grids.CellSelectEventArgs>;
    /**
      * Triggers before the selected cell is deselecting.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.CellDeselectEventArgs<TValue>
      * @deprecated
      */
    cellDeselecting?: base.EmitType<grids.CellDeselectEventArgs>;
    /**
      * Triggers when a particular selected cell is deselected.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.CellDeselectEventArgs<TValue>
      * @deprecated
      */
    cellDeselected?: base.EmitType<grids.CellDeselectEventArgs>;
    /**
      * Triggers when column resize starts.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ResizeArgs
      * @deprecated
      */
    resizeStart?: base.EmitType<grids.ResizeArgs>;
    /**
      * Triggers on column resizing.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ResizeArgs
      * @deprecated
      */
    resizing?: base.EmitType<grids.ResizeArgs>;
    /**
      * Triggers when column resize ends.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ResizeArgs
      * @deprecated
      */
    resizeStop?: base.EmitType<grids.ResizeArgs>;
    /**
      * Triggers before exporting each header cell to PDF document. You can also customize the PDF cells.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.PdfHeaderQueryCellInfoEventArgs
      * @deprecated
      */
    pdfHeaderQueryCellInfo?: base.EmitType<grids.PdfHeaderQueryCellInfoEventArgs>;
    /**
      * Triggers before exporting each cell to PDF document. You can also customize the PDF cells.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.PdfQueryCellInfoEventArgs
      * @deprecated
      */
    pdfQueryCellInfo?: base.EmitType<grids.PdfQueryCellInfoEventArgs>;
    /**
      * Triggers before exporting each header cell to Excel file.
      * You can also customize the Excel cells.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ExcelHeaderQueryCellInfoEventArgs
      * @deprecated
      */
    excelHeaderQueryCellInfo?: base.EmitType<grids.ExcelHeaderQueryCellInfoEventArgs>;
    /**
      * Triggers before exporting each cell to Excel file.
      * You can also customize the Excel cells.
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ExcelQueryCellInfoEventArgs
      * @deprecated
      */
    excelQueryCellInfo?: base.EmitType<grids.ExcelQueryCellInfoEventArgs>;
    /**
      * Triggers when column header element drag (move) starts. 
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ColumnDragEventArgs
      * @deprecated
      */
    columnDragStart?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
      * Triggers when column header element is dragged (moved) continuously. 
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ColumnDragEventArgs
      * @deprecated
      */
    columnDrag?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
      * Triggers when a column header element is dropped on the target column. 
      * @event
      * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ColumnDragEventArgs
      * @deprecated
      */
    columnDrop?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
      * This 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> {
    /**
     * 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
     */
    cellSelectionMode: PivotCellSelectionMode;
    /**
     * 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.
     * @blazorType PivotSelectionType
     * @default Single
     */
    type: grids.SelectionType;
    /**
     * If 'checkboxOnly' set to true, then the 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 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.
     * @blazorType PivotCheckboxSelectionType
     * @default Default
     */
    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;
}
/**
 *  Represents Pivot widget model class.
 */
export  class GridSettings extends base.ChildProperty<GridSettings> {
    /**
     * Defines the content height of Grid.
     * @default 'auto'
     */
    height: number | string;
    /**
     * Defines the content width of Grid.
     * @default 'auto'
     */
    width: number | string;
    /**
     * 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.
     * @blazorType PivotGridLine
     * @default Both
     */
    gridLines: grids.GridLine;
    /**
     * 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;
    /**
     * 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.
     * @default false
     */
    allowReordering: boolean;
    /**
     * If `allowResizing` is set to true, Grid columns can be resized.
     * @default true
     */
    allowResizing: boolean;
    /**
     * Defines the height of Grid rows.
     * @default null
     */
    rowHeight: number;
    /**
     * Defines the height of Grid rows.
     * @default 110
     */
    columnWidth: number;
    /**
     * 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.
     * @blazorType PivotClipMode
     * @default Ellipsis
     */
    clipMode: grids.ClipMode;
    /**
     * If `allowSelection` is set to true, it allows selection of (highlight row) Grid records by clicking it.
     * @default false
     */
    allowSelection: boolean;
    /**
     * 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: grids.SelectionSettingsModel | SelectionSettings;
    /**
     * Configures the text wrap settings of the Grid.
     * @default { WrapMode: 'Both'}
     */
    textWrapSettings: grids.TextWrapSettings;
    /**
     * Defines the print modes. The available print modes are
     * * `AllPages`: Prints all pages of the Grid.
     * * `CurrentPage`: Prints the current page of the Grid.
     * @blazorType PivotPrintMode
     * @default AllPages
     */
    printMode: grids.PrintMode;
    /**
     * `contextMenuItems` defines both built-in and custom context menu items.
     * @blazorType List<PivotContextMenuItem>
     * @default null
     */
    contextMenuItems: PivotContextMenuItem[] | grids.ContextMenuItemModel[];
    /**
     * Triggers before Grid copy action.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.BeforeCopyEventArgs
     * @deprecated
     */
    beforeCopy: base.EmitType<grids.BeforeCopyEventArgs>;
    /**
     * Triggers after print action is completed.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.PrintEventArgs
     * @deprecated
     */
    printComplete: base.EmitType<grids.PrintEventArgs>;
    /**
     * Triggers before the print action starts.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.PrintEventArgs
     * @deprecated
     */
    beforePrint: base.EmitType<grids.PrintEventArgs>;
    /**
     * Triggers before context menu opens.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Navigations.navigations.BeforeOpenCloseMenuEventArgs
     * @deprecated
     */
    contextMenuOpen: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers when click on context menu.
     * @event
     * @blazorProperty 'ContextMenuItemClicked'
     * @blazorType Syncfusion.EJ2.Blazor.Navigations.navigations.MenuEventArgs
     * @deprecated
     */
    contextMenuClick: base.EmitType<navigations.MenuEventArgs>;
    /**
     * 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
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.QueryCellInfoEventArgs<TValue>
     * @deprecated
     */
    queryCellInfo: base.EmitType<grids.QueryCellInfoEventArgs>;
    /**
     * Triggered for column header.
     * This will be triggered before the cell element is appended to the Grid element.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.HeaderCellInfoEventArgs
     * @deprecated
     */
    headerCellInfo: base.EmitType<grids.HeaderCellInfoEventArgs>;
    /**
     * Triggers before row selection occurs.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.RowSelectEventArgs<TValue>
     * @deprecated
     */
    rowSelecting: base.EmitType<grids.RowSelectEventArgs>;
    /**
     * Triggers after a row is selected.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.RowSelectEventArgs<TValue>
     * @deprecated
     */
    rowSelected: base.EmitType<grids.RowSelectEventArgs>;
    /**
     * Triggers before deselecting the selected row.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.RowDeselectEventArgs<TValue>
     * @deprecated
     */
    rowDeselecting: base.EmitType<grids.RowDeselectEventArgs>;
    /**
     * Triggers when a selected row is deselected.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.RowDeselectEventArgs<TValue>
     * @deprecated
     */
    rowDeselected: base.EmitType<grids.RowDeselectEventArgs>;
    /**
     * Triggers before any cell selection occurs.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.CellSelectingEventArgs<TValue>
     * @deprecated
     */
    cellSelecting: base.EmitType<grids.CellSelectingEventArgs>;
    /**
     * Triggers after a cell is selected.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.CellSelectEventArgs<TValue>
     * @deprecated
     */
    cellSelected: base.EmitType<grids.CellSelectEventArgs>;
    /**
     * Triggers before the selected cell is deselecting.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.CellDeselectEventArgs<TValue>
     * @deprecated
     */
    cellDeselecting: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * Triggers when a particular selected cell is deselected.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.CellDeselectEventArgs<TValue>
     * @deprecated
     */
    cellDeselected: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * Triggers when column resize starts.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ResizeArgs
     * @deprecated
     */
    resizeStart: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers on column resizing.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ResizeArgs
     * @deprecated
     */
    resizing: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers when column resize ends.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ResizeArgs
     * @deprecated
     */
    resizeStop: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers before exporting each header cell to PDF document. You can also customize the PDF cells.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.PdfHeaderQueryCellInfoEventArgs
     * @deprecated
     */
    pdfHeaderQueryCellInfo: base.EmitType<grids.PdfHeaderQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each cell to PDF document. You can also customize the PDF cells.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.PdfQueryCellInfoEventArgs
     * @deprecated
     */
    pdfQueryCellInfo: base.EmitType<grids.PdfQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each header cell to Excel file.
     * You can also customize the Excel cells.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ExcelHeaderQueryCellInfoEventArgs
     * @deprecated
     */
    excelHeaderQueryCellInfo: base.EmitType<grids.ExcelHeaderQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each cell to Excel file.
     * You can also customize the Excel cells.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ExcelQueryCellInfoEventArgs
     * @deprecated
     */
    excelQueryCellInfo: base.EmitType<grids.ExcelQueryCellInfoEventArgs>;
    /**
     * Triggers when column header element drag (move) starts.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ColumnDragEventArgs
     * @deprecated
     */
    columnDragStart: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers when column header element is dragged (moved) continuously.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ColumnDragEventArgs
     * @deprecated
     */
    columnDrag: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers when a column header element is dropped on the target column.
     * @event
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ColumnDragEventArgs
     * @deprecated
     */
    columnDrop: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * This 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 */
    indentCollection: {
        [key: number]: number;
    };
    private formatList;
    private colPos;
    private lastSpan;
    private resColWidth;
    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 */
    constructor(parent: PivotView);
    /** @hidden */
    render(): void;
    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 dataBound;
    private contextMenuOpen;
    private contextMenuClick;
    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 onOlapColumnCellBoundEvent;
    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[];
    /** @hidden */
    setSavedWidth(column: string, width: number): number;
    /** @hidden */
    frameEmptyColumns(): grids.ColumnModel[];
    /** @hidden */
    getFormatList(): {
        [key: string]: string;
    };
    private excelColumnEvent;
    private pdfColumnEvent;
    private excelRowEvent;
    private pdfRowEvent;
    private exportHeaderEvent;
    private exportContentEvent;
    private unWireEvents;
    private wireEvents;
}
 }
export namespace popups { 

//node_modules/@syncfusion/ej2-popups/src/common/collision.d.ts
/**
 * Collision module.
 */
export interface CollisionCoordinates {
    X: boolean;
    Y: boolean;
}
export  function fit(element: HTMLElement, viewPortElement?: HTMLElement, axis?: CollisionCoordinates, position?: OffsetPosition): OffsetPosition;
export  function isCollide(element: HTMLElement, viewPortElement?: HTMLElement, x?: number, y?: number): string[];
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
export  function calculateRelativeBasedPosition(anchor: HTMLElement, element: HTMLElement): OffsetPosition;
export  function calculatePosition(currentElement: Element, positionX?: string, positionY?: string, parentElement?: Boolean, targetValues?: ClientRect): OffsetPosition;
export interface OffsetPosition {
    left: number;
    top: number;
}
//node_modules/@syncfusion/ej2-popups/src/common/resize.d.ts
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;
}
export  function createResize(args: ResizeArgs): void;
export  function setMinHeight(minimumHeight: number): 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 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
     * @blazorProperty 'OnClick'
     */
    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;
    /**
     * 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 height of the dialog component.
     * @default 'auto'
     * @blazorType string
     */
    height?: 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.
     * 
     * @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 %}
     * @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 %}
     * @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.
     * @default {X:'center', Y:'center'}
     */
    position?: PositionDataModel;
    /**
     * base.Event triggers when the dialog is created.
     * @event
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Object>;
    /**
     * base.Event triggers when a dialog is opened.
     * @event
     * @blazorProperty 'Opened'
     * @blazorType OpenEventArgs
     */
    open?: base.EmitType<Object>;
    /**
     * 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
     * @blazorProperty 'OnOpen'
     */
    beforeOpen?: base.EmitType<BeforeOpenEventArgs>;
    /**
     * base.Event triggers after the dialog has been closed.
     * @event
     * @blazorProperty 'Closed'
     * @blazorType CloseEventArgs
     */
    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
     * @blazorProperty 'OnClose'
     */
    beforeClose?: base.EmitType<BeforeCloseEventArgs>;
    /**
     * base.Event triggers when the user begins dragging the dialog.
     * @event
     * @blazorProperty 'OnDragStart'
     * @blazorType DragStartEventArgs
     */
    dragStart?: base.EmitType<Object>;
    /**
     * base.Event triggers when the user stop dragging the dialog.
     * @event
     * @blazorProperty 'OnDragStop'
     * @blazorType DragStopEventArgs
     */
    dragStop?: base.EmitType<Object>;
    /**
     * base.Event triggers when the user drags the dialog.
     * @event
     * @blazorProperty 'OnDrag'
     * @blazorType DragEventArgs
     */
    drag?: base.EmitType<Object>;
    /**
     * base.Event triggers when the overlay of dialog is clicked.
     * @event
     * @blazorProperty 'OnOverlayClick'
     */
    overlayClick?: base.EmitType<Object>;
    /**
     * base.Event triggers when the user begins to resize a dialog.
     * @event
     * @blazorProperty 'OnResizeStart'
     */
    resizeStart?: base.EmitType<Object>;
    /**
     * base.Event triggers when the user resize the dialog.
     * @event
     * @blazorProperty 'Resizing'
     */
    resizing?: base.EmitType<Object>;
    /**
     * base.Event triggers when the user stop to resize a dialog.
     * @event
     * @blazorProperty 'OnResizeStop'
     */
    resizeStop?: base.EmitType<Object>;
}
//node_modules/@syncfusion/ej2-popups/src/dialog/dialog.d.ts
export  type ButtonType = 'buttons.Button' | 'Submit' | 'Reset';
export  class ButtonProps extends base.ChildProperty<ButtonProps> {
    /**
     * 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
     * @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';
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;
}
export interface BeforeCloseEventArgs {
    /**
     * Defines whether the current action can be prevented.
     */
    cancel: boolean;
    /**
     * DEPRECATED-Determines whether the event is triggered by interaction.
     */
    isInteraction: 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;
}
export interface OpenEventArgs {
    /**
     * 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;
}
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;
    /**
     * DEPRECATED-Determines whether the event is triggered by interaction.
     */
    isInteraction: boolean;
    /**
     * Specify the name of the event.
     */
    name: string;
}
export interface DragStartEventArgs {
    /**
     * Returns the original event arguments.
     */
    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;
}
export interface DragStopEventArgs {
    /**
     * Returns the original event arguments.
     */
    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;
}
export interface DragEventArgs {
    /**
     * Returns the original event arguments.
     */
    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 initialRender;
    private innerContentElement;
    private storeActiveElement;
    private focusElements;
    private focusIndex;
    private l10n;
    private clonedEle;
    private closeArgs;
    private calculatezIndex;
    private allowMaxHeight;
    private preventVisibility;
    /**
     * 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;
    /**
     * 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 height of the dialog component.
     * @default 'auto'
     * @blazorType string
     */
    height: 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.
     *
     * @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 %}
     * @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 %}
     * @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.
     * @default {X:'center', Y:'center'}
     */
    position: PositionDataModel;
    /**
     * Event triggers when the dialog is created.
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Object>;
    /**
     * Event triggers when a dialog is opened.
     * @event
     * @blazorProperty 'Opened'
     * @blazorType OpenEventArgs
     */
    open: base.EmitType<Object>;
    /**
     * 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
     * @blazorProperty 'OnOpen'
     */
    beforeOpen: base.EmitType<BeforeOpenEventArgs>;
    /**
     * Event triggers after the dialog has been closed.
     * @event
     * @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
     * @blazorProperty 'OnClose'
     */
    beforeClose: base.EmitType<BeforeCloseEventArgs>;
    /**
     * Event triggers when the user begins dragging the dialog.
     * @event
     * @blazorProperty 'OnDragStart'
     * @blazorType DragStartEventArgs
     */
    dragStart: base.EmitType<Object>;
    /**
     * Event triggers when the user stop dragging the dialog.
     * @event
     * @blazorProperty 'OnDragStop'
     * @blazorType DragStopEventArgs
     */
    dragStop: base.EmitType<Object>;
    /**
     * Event triggers when the user drags the dialog.
     * @event
     * @blazorProperty 'OnDrag'
     * @blazorType DragEventArgs
     */
    drag: base.EmitType<Object>;
    /**
     * Event triggers when the overlay of dialog is clicked.
     * @event
     * @blazorProperty 'OnOverlayClick'
     */
    overlayClick: base.EmitType<Object>;
    /**
     * Event triggers when the user begins to resize a dialog.
     * @event
     * @blazorProperty 'OnResizeStart'
     */
    resizeStart: base.EmitType<Object>;
    /**
     * Event triggers when the user resize the dialog.
     * @event
     * @blazorProperty 'Resizing'
     */
    resizing: base.EmitType<Object>;
    /**
     * Event triggers when the user stop to resize a dialog.
     * @event
     * @blazorProperty 'OnResizeStop'
     */
    resizeStop: base.EmitType<Object>;
    /**
     * Constructor for creating the widget
     * @hidden
     */
    constructor(options?: DialogModel, element?: string | HTMLElement);
    /**
     * Initialize the control rendering
     * @private
     */
    render(): void;
    /**
     * Initialize the event handler
     * @private
     */
    protected preRender(): void;
    private isNumberValue;
    private checkPositionData;
    private getEle;
    private getMinHeight;
    private onResizeStart;
    private onResizing;
    private onResizeComplete;
    private setResize;
    private keyDown;
    /**
     * Initialize the control rendering
     * @private
     */
    private initialize;
    /**
     * Initialize the rendering
     * @private
     */
    private initRender;
    private setOverlayZindex;
    private positionChange;
    private setPopupPosition;
    private setAllowDragging;
    private setButton;
    private setContent;
    private setTemplate;
    private blazorTemplate;
    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;
    /**
     * Module required function
     * @private
     */
    protected getModuleName(): string;
    /**
     * Called internally if any of the property value changed
     * @private
     */
    onPropertyChanged(newProp: DialogModel, oldProp: DialogModel): void;
    private updateIsModal;
    private setzIndex;
    /**
     * Get the properties to be maintained in the persisted state.
     * @private
     */
    protected getPersistData(): string;
    /**
     * To destroy the widget
     * @method destroy
     * @return {void}
     * @memberof dialog
     */
    destroy(): void;
    /**
     * Binding event to the element while widget creation
     * @hidden
     */
    private wireEvents;
    /**
     * Unbinding event to the element while widget destroy
     * @hidden
     */
    private unWireEvents;
    /**
     * Refreshes the dialog's position when the user changes its header and footer height/width dynamically.
     * @return {void}
     */
    refreshPosition(): void;
    /**
     * 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.
     * @return {void}
     */
    show(isFullScreen?: boolean): void;
    /**
     * Closes the dialog if it is in visible state.
     * @return {void}
     */
    hide(event?: Event): void;
    /**
     * Specifies to view the Full screen Dialog.
     * @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.
     * @return {buttons.Button}
     */
    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');
     *
     * ```
     */
    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');
     *
     * ```
     */
    function confirm(args?: ConfirmDialogArgs | string): Dialog;
}
export interface ButtonArgs {
    icon?: string;
    cssClass?: string;
    click?: base.EmitType<Object>;
    text?: string;
}
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>;
}
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>;
}
//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
     */
    open?: base.EmitType<Object>;
    /**
     * Trigger the event once closed the popup.
     * @event
     */
    close?: base.EmitType<Object>;
    /**
     * Triggers the event when target element hide from view port on scroll.
     * @event
     */
    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;
}
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
     */
    open: base.EmitType<Object>;
    /**
     * Trigger the event once closed the popup.
     * @event
     */
    close: base.EmitType<Object>;
    /**
     * * Constructor for creating the widget
     */
    /**
     * Triggers the event when target element hide from view port on scroll.
     * @event
     */
    targetExitViewport: base.EmitType<Object>;
    private targetInvisibleStatus;
    constructor(element?: HTMLElement, options?: PopupModel);
    /**
     * Called internally if any of the property value changed.
     * @private
     */
    onPropertyChanged(newProp: PopupModel, oldProp: PopupModel): void;
    /**
     * gets the base.Component module name.
     * @private
     */
    getModuleName(): string;
    /**
     * gets the persisted state properties of the base.Component.
     */
    protected getPersistData(): string;
    /**
     * To destroy the control.
     */
    destroy(): void;
    /**
     * To Initialize the control rendering
     * @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.
     */
    private isElementOnViewport;
    private isElementVisible;
    /**
     * Initialize the event handler
     * @private
     */
    protected preRender(): void;
    private setEnableRtl;
    private setContent;
    private orientationOnChange;
    /**
     * Based on the `relative` element and `offset` values, `Popup` element position will refreshed.
     */
    refreshPosition(target?: HTMLElement, collision?: boolean): void;
    private reposition;
    private checkGetBoundingClientRect;
    private getAnchorPosition;
    private callFlip;
    private callFit;
    private checkCollision;
    /**
     * Shows the popup element from screen.
     * @param { base.AnimationModel | Function } collisionOrAnimationOptions? - To pass animation options or collision function.
     * @param { Function } collision? - To pass the collision function.
     * @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.
     */
    hide(animationOptions?: base.AnimationModel): void;
    /**
     * Gets scrollable parent elements for the given element.
     * @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.
 * @private
 */
export  function getScrollableParent(element: HTMLElement, fixedParent?: Boolean): HTMLElement[];
/**
 * Gets the maximum z-index of the given element.
 * @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.
 * @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';
/**
 * Function to change the Spinners in a page globally from application end.
 * ```
 * E.g : blazorSpinner({ action: "Create", options: {target: targetElement}, type: "" });
 * ```
 * @param args
 * @private
 */
export  function blazorSpinner(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 args
 * @private
 */
export  function createSpinner(args: SpinnerArgs, internalCreateElement?: createElementParams): void;
/**
 * Function to show the Spinner.
 * @param container - Specify the target of the Spinner.
 * @private
 */
export  function showSpinner(container: HTMLElement): void;
/**
 * Function to hide the Spinner.
 * @param container - Specify the target of the Spinner.
 * @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 args
 * @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.html?lang=typescript)
     *  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.html?lang=typescript)
     *  to know more about this property with demo.
     *
     * {% codeBlock src="tooltip/content-api/index.ts" %}{% endcodeBlock %}
     */
    content?: 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 %}
     * @default 'TopCenter'
     */
    position?: Position;
    /**
     * It sets the space between the target and Tooltip element in X axis.
     *
     * {% codeBlock src="tooltip/offsetX-api/index.ts" %}{% 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 %}
     * @default 0
     */
    offsetY?: number;
    /**
     * It is used to show or hide the tip pointer of Tooltip.
     *
     * {% codeBlock src="tooltip/offsetX-api/index.ts" %}{% endcodeBlock %}
     * @default true
     */
    showTipPointer?: 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.
     * @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-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.html?lang=typescript#mouse-trailing)
     *  to know more about this property with demo.
     *
     * {% 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.html?lang=typescript#sticky-mode)
     *  to know more about this property with demo.
     * @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.html?lang=typescript)
     *  to know more about this property with demo.
     *
     * {% 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;
    /**
     * 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.html?lang=typescript#dynamic-content-via-ajax)
     *  to know more about this property with demo.
     * @event
     * @blazorProperty 'OnRender'
     */
    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.
     * @event
     * @blazorProperty 'OnOpen'
     */
    beforeOpen?: base.EmitType<TooltipEventArgs>;
    /**
     * We can trigger `afterOpen` event after the Tooltip base.Component gets opened.
     * @event
     * @blazorProperty 'Opened'
     */
    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.
     * @event
     * @blazorProperty 'OnClose'
     */
    beforeClose?: base.EmitType<TooltipEventArgs>;
    /**
     * We can trigger `afterClose` event when the Tooltip base.Component gets closed.
     * @event
     * @blazorProperty 'Closed'
     */
    afterClose?: base.EmitType<TooltipEventArgs>;
    /**
     * We can trigger `beforeCollision` event for every collision fit calculation.
     * @event
     * @blazorProperty 'OnCollision'
     */
    beforeCollision?: base.EmitType<TooltipEventArgs>;
    /**
     * We can trigger `created` event after the Tooltip component is created.
     * @event
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Object>;
    /**
     * We can trigger `destroyed` event when the Tooltip component is destroyed.
     * @event
     * @blazorProperty 'Destroyed'
     */
    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;
}
/**
 * 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 showTimer;
    private hideTimer;
    private tipWidth;
    private touchModule;
    private tipHeight;
    private autoCloseTimer;
    private isBlazorTemplate;
    /**
     * 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.html?lang=typescript)
     *  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.html?lang=typescript)
     *  to know more about this property with demo.
     *
     * {% codeBlock src="tooltip/content-api/index.ts" %}{% endcodeBlock %}
     */
    content: 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 %}
     * @default 'TopCenter'
     */
    position: Position;
    /**
     * It sets the space between the target and Tooltip element in X axis.
     *
     * {% codeBlock src="tooltip/offsetX-api/index.ts" %}{% 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 %}
     * @default 0
     */
    offsetY: number;
    /**
     * It is used to show or hide the tip pointer of Tooltip.
     *
     * {% codeBlock src="tooltip/offsetX-api/index.ts" %}{% endcodeBlock %}
     * @default true
     */
    showTipPointer: 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.
     * @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-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.html?lang=typescript#mouse-trailing)
     *  to know more about this property with demo.
     *
     * {% 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.html?lang=typescript#sticky-mode)
     *  to know more about this property with demo.
     * @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.html?lang=typescript)
     *  to know more about this property with demo.
     *
     * {% 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;
    /**
     * 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.html?lang=typescript#dynamic-content-via-ajax)
     *  to know more about this property with demo.
     * @event
     * @blazorProperty 'OnRender'
     */
    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.
     * @event
     * @blazorProperty 'OnOpen'
     */
    beforeOpen: base.EmitType<TooltipEventArgs>;
    /**
     * We can trigger `afterOpen` event after the Tooltip base.Component gets opened.
     * @event
     * @blazorProperty 'Opened'
     */
    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.
     * @event
     * @blazorProperty 'OnClose'
     */
    beforeClose: base.EmitType<TooltipEventArgs>;
    /**
     * We can trigger `afterClose` event when the Tooltip base.Component gets closed.
     * @event
     * @blazorProperty 'Closed'
     */
    afterClose: base.EmitType<TooltipEventArgs>;
    /**
     * We can trigger `beforeCollision` event for every collision fit calculation.
     * @event
     * @blazorProperty 'OnCollision'
     */
    beforeCollision: base.EmitType<TooltipEventArgs>;
    /**
     * We can trigger `created` event after the Tooltip component is created.
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Object>;
    /**
     * We can trigger `destroyed` event when the Tooltip component is destroyed.
     * @event
     * @blazorProperty 'Destroyed'
     */
    destroyed: base.EmitType<Object>;
    /**
     * Constructor for creating the Tooltip base.Component
     */
    constructor(options?: TooltipModel, element?: string | HTMLElement);
    private initialize;
    private formatPosition;
    private renderArrow;
    private setTipClass;
    private renderPopup;
    private getTooltipPosition;
    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 showTooltip;
    private beforeRenderCallback;
    private beforeOpenCallback;
    private needTemplateReposition;
    private checkCollision;
    private collisionFlipFit;
    private hideTooltip;
    private restoreElement;
    private clear;
    private onMouseOut;
    private tooltipElementMouseOut;
    private onStickyClose;
    private onMouseMove;
    private keyDown;
    private touchEnd;
    private scrollHandler;
    /**
     * Core method that initializes the control rendering.
     * @private
     */
    render(): void;
    /**
     * Initializes the values of private members.
     * @private
     */
    protected preRender(): void;
    /**
     * Binding events to the Tooltip element.
     * @hidden
     */
    private wireEvents;
    private getTriggerList;
    private wireFocusEvents;
    private wireMouseEvents;
    /**
     * Unbinding events from the element on widget destroy.
     * @hidden
     */
    private unwireEvents;
    private unwireFocusEvents;
    private unwireMouseEvents;
    private findTarget;
    /**
     * Core method to return the component name.
     * @private
     */
    getModuleName(): string;
    /**
     * Returns the properties to be maintained in the persisted state.
     * @private
     */
    protected getPersistData(): string;
    /**
     * Called internally, if any of the property value changed.
     * @private
     */
    onPropertyChanged(newProp: TooltipModel, oldProp: TooltipModel): void;
    /**
     * It is used to show the Tooltip on the specified target with specific animation settings.
     * @param element Target element where the Tooltip is to be displayed.
     * @param animation Sets the specific animation, while showing the Tooltip on the screen.
     * @return {void}
     */
    open(element: HTMLElement, animation?: TooltipAnimationSettings): void;
    /**
     * It is used to hide the Tooltip with specific animation effect.
     * @param animation Sets the specific animation when hiding Tooltip from the screen.
     * @return {void}
     */
    close(animation?: TooltipAnimationSettings): void;
    /**
     * It is used to refresh the Tooltip content and its position.
     * @param target Target element where the Tooltip content or position needs to be refreshed.
     * @return {void}
     */
    refresh(target?: HTMLElement): void;
    /**
     * It is used to destroy the Tooltip component.
     * @method destroy
     * @return {void}
     * @memberof Tooltip
     */
    destroy(): void;
}
 }
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 template for value field such as slider or any other widgets.
     * @default null
     */
    template?: TemplateColumn;
    /**
     * 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.
     * @default null
     */
    format?: string;
    /**
     * 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;
}
/**
 * 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;
}
/**
 * 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
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Event>;
    /**
     * Triggers before the condition (And/Or), field, operator, value is changed.
     * @event
     * @blazorProperty 'OnValueChange'
     */
    beforeChange?: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when changing the condition(AND/OR), field, value, operator is changed
     * @event
     * @blazorProperty 'Changed'
     */
    change?: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when changing the condition(AND/OR), field, value, operator is changed
     * @event
     * @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 columns to create filters.
     * @default {}
     */
    columns?: ColumnsModel[];
    /**
     * 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;
    /**
     * 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
 */
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 template for value field such as slider or any other widgets.
     * @default null
     */
    template: TemplateColumn;
    /**
     * 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.
     * @default null
     */
    format: string;
    /**
     * 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;
}
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;
}
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;
}
/**
 * Specify 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 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 fields;
    private selectedColumn;
    private isOperatorRendered;
    private isValueRendered;
    private actionButton;
    private isInitialLoad;
    /**
     * Triggers when the component is created.
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Event>;
    /**
     * Triggers before the condition (And/Or), field, operator, value is changed.
     * @event
     * @blazorProperty 'OnValueChange'
     */
    beforeChange: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when changing the condition(AND/OR), field, value, operator is changed
     * @event
     * @blazorProperty 'Changed'
     */
    change: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers when changing the condition(AND/OR), field, value, operator is changed
     * @event
     * @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 columns to create filters.
     * @default {}
     */
    columns: ColumnsModel[];
    /**
     * 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;
    /**
     * 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 initialize;
    private clickEventHandler;
    private beforeSuccessCallBack;
    private selectBtn;
    private addRuleElement;
    private addRuleSuccessCallBack;
    private renderToolTip;
    /**
     * Validate the conditions and it display errors for invalid fields.
     * @returns boolean.
     */
    validateFields(): boolean;
    private refreshLevelColl;
    private refreshLevel;
    private groupTemplate;
    private ruleTemplate;
    private addGroupElement;
    private addGroupSuccess;
    notifyChange(value: string | number | boolean | Date | string[] | number[] | Date[], element: Element): void;
    private changeValue;
    private changeValueSuccessCallBack;
    private changeField;
    private changeRule;
    private changeFilter;
    private changeOperator;
    private fieldChangeSuccess;
    private operatorChangeSuccess;
    private changeRuleValues;
    private destroyControls;
    private templateDestroy;
    private getDistinctValues;
    private renderMultiSelect;
    private multiSelectOpen;
    private bindBlazorMultiSelectData;
    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 getOperatorIndex;
    private renderValues;
    private updateValues;
    private updateRules;
    private filterRules;
    private ruleValueUpdate;
    private validatValue;
    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
     * @return {void}
     */
    destroy(): void;
    /**
     * Adds single or multiple rules.
     * @returns void.
     */
    addRules(rule: RuleModel[], groupID: string): void;
    /**
     * Adds single or multiple groups, which contains the collection of rules.
     * @returns void.
     */
    addGroups(groups: RuleModel[], groupID: string): void;
    private initWrapper;
    private renderSummary;
    private renderSummaryCollapse;
    private columnSort;
    onPropertyChanged(newProp: QueryBuilderModel, oldProp: QueryBuilderModel): void;
    protected preRender(): void;
    protected render(): void;
    private executeDataManager;
    private initControl;
    protected wireEvents(): void;
    protected unWireEvents(): void;
    private getParentGroup;
    private deleteGroup;
    private deleteGroupSuccessCallBack;
    private deleteRule;
    private deleteRuleSuccessCallBack;
    private setGroupRules;
    /**
     * return the valid rule or rules collection.
     * @returns RuleModel.
     */
    getValidRules(currentRule: RuleModel): RuleModel;
    private getRuleCollection;
    /**
     * Set the rule or rules collection.
     * @returns void.
     */
    setRules(rule: RuleModel): void;
    /**
     * Gets the rule or rule collection.
     * @returns object.
     */
    getRules(): RuleModel;
    /**
     * Gets the rule.
     * @returns object.
     */
    getRule(elem: string | HTMLElement): RuleModel;
    /**
     * Gets the group.
     * @returns object.
     */
    getGroup(target: Element | string): RuleModel;
    /**
     * Deletes the group or groups based on the group ID.
     * @returns void.
     */
    deleteGroups(groupIdColl: string[]): void;
    /**
     * return the data.Query from current rules collection.
     * @returns Promise.
     * @blazorType object
     */
    getFilteredRecords(): Promise<Object> | object;
    /**
     * Deletes the rule or rules based on the rule ID.
     * @returns void.
     */
    deleteRules(ruleIdColl: string[]): void;
    /**
     * Gets the query for Data Manager.
     * @returns string.
     */
    getDataManagerQuery(rule: RuleModel): data.Query;
    /**
     * Get the predicate from collection of rules.
     * @returns null
     */
    getPredicate(rule: RuleModel): data.Predicate;
    private getColumn;
    private datePredicate;
    private arrayPredicate;
    private renderGroup;
    private renderRule;
    private getSqlString;
    /**
     * Sets the rules from the sql query.
     */
    setRulesFromSql(sqlString: string): void;
    /**
     * Get the rules from SQL query.
     * @returns object.
     */
    getRulesFromSql(sqlString: string): RuleModel;
    /**
     * Gets the sql query from rules.
     * @returns object.
     */
    getSqlFromRules(rule: RuleModel): string;
    private sqlParser;
    private parseSqlStrings;
    private getOperator;
    private getTypeFromColumn;
    private processParser;
    private isBlazor;
}
export interface Level {
    [key: string]: number[];
}
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;
}
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;
    value?: string | number | Date | boolean | string[];
    selectedIndex?: number;
    selectedField?: string;
    cancel?: boolean;
    type?: string;
}
export interface RuleChangeEventArgs extends base.BaseEventArgs {
    previousRule?: RuleModel;
    rule: RuleModel;
    type?: string;
}
 }
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
 */
export  const KEY_DOWN: string;
export  const ACTION: string;
export  const FORMAT_TYPE: string;
export  const KEY_DOWN_HANDLER: string;
export  const LIST_TYPE: string;
export  const KEY_UP_HANDLER: string;
export  const KEY_UP: string;
export  const MODEL_CHANGED_PLUGIN: string;
export  const MODEL_CHANGED: string;
export  const MS_WORD_CLEANUP_PLUGIN: string;
export  const MS_WORD_CLEANUP: 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
 */
export interface IMarkdownFormatterCallBack {
    selectedText?: string;
    editorMode?: EditorMode;
    action?: string;
    event?: KeyboardEvent | MouseEvent;
    requestType?: string;
}
export interface IHtmlFormatterCallBack {
    selectedNode?: Element;
    requestType?: string;
    range?: Range;
    editorMode?: EditorMode;
    action?: string;
    elements?: Element | Element[];
    event?: KeyboardEvent | MouseEvent;
}
export interface IMarkdownToolbarStatus {
    OrderedList: boolean;
    UnorderedList: boolean;
    Formats: string;
}
export interface IUndoCallBack {
    callBack?: Function;
    event?: Object;
}
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;
    createlink?: boolean;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/common/types.d.ts
/**
 * Exports types used by RichTextEditor.
 */
export  type EditorMode = 'HTML' | 'Markdown';
export  type SaveFormat = 'Base64' | 'Blob';
//node_modules/@syncfusion/ej2-richtexteditor/src/common/util.d.ts
export  function isIDevice(): boolean;
export  function setEditFrameFocus(editableElement: Element, selector: string): void;
//node_modules/@syncfusion/ej2-richtexteditor/src/components.d.ts
/**
 * RichTextEditor 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
/**
 * RichTextEditor classes defined here.
 */
/** @hidden */
export  const CLASS_IMAGE_RIGHT: string;
export  const CLASS_IMAGE_LEFT: string;
export  const CLASS_IMAGE_CENTER: string;
export  const CLASS_IMAGE_BREAK: string;
export  const CLASS_CAPTION: string;
export  const CLASS_CAPTION_INLINE: string;
export  const CLASS_IMAGE_INLINE: string;
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/base/constant.d.ts
/**
 * Constant values for EditorManager
 */
export  const IMAGE: 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 ALIGNMENT_TYPE: string;
export  const INDENT_TYPE: string;
/** @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[];
export  const SELECTION_TYPE: string;
export  const INSERTHTML_TYPE: string;
export  const INSERT_TEXT_TYPE: string;
export  const CLEAR_TYPE: string;
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/base/editor-manager.d.ts
/**
 * EditorManager internal component
 * @hidden
 */
export  class EditorManager {
    currentDocument: HTMLDocument;
    observer: base.Observer;
    listObj: Lists;
    nodeSelection: NodeSelection;
    domNode: DOMNode;
    formatObj: Formats;
    linkObj: LinkCommand;
    alignmentObj: Alignments;
    indentsObj: Indents;
    imgObj: ImageCommand;
    tableObj: TableCommand;
    selectionObj: SelectionBasedExec;
    inserthtmlObj: InsertHtmlExec;
    insertTextObj: InsertTextExec;
    clearObj: ClearFormatExec;
    undoRedoManager: UndoRedoManager;
    msWordPaste: MsWordPaste;
    editableElement: Element;
    /**
     * Constructor for creating the component
     * @hidden
     */
    constructor(options: ICommandModel);
    private wireEvents;
    private onWordPaste;
    private onPropertyChanged;
    private editorKeyDown;
    private editorKeyUp;
    execCommand<T>(command: EditorExecCommand, value: T, event?: Event, callBack?: Function, text?: string | Node, exeValue?: T, selector?: 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
 */
export interface ICommandModel {
    /**
     * Specifies the current document.
     */
    document: HTMLDocument;
    /**
     * Specifies the current window.
     */
    editableElement: Element;
    options?: {
        [key: string]: number;
    };
}
/**
 * Specifies IHtmlSubCommands interfaces.
 * @hidden
 */
export interface IHtmlSubCommands {
    /**
     * 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  IKeyboardActionArgs interfaces for command line.
 * @hidden
 */
export interface IKeyboardActionArgs extends KeyboardEvent {
    /**
     * action of the KeyboardEvent
     */
    action: string;
}
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;
}
export interface IHtmlItemArgs {
    selection?: NodeSelection;
    selectNode?: Node[];
    selectParent?: Node[];
    url?: 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;
    row?: number;
    columns?: number;
    subCommand?: string;
    tableCell?: HTMLElement;
    cssClass?: string;
    insertElement?: Element;
    captionClass?: string;
    action?: string;
}
export interface IHtmlUndoRedoData {
    text?: string;
    range?: NodeSelection;
}
/**
 * Specifies IHtmlKeyboardEvent interfaces.
 * @hidden
 */
export interface IHtmlKeyboardEvent {
    /**
     * Specifies the callBack.
     */
    callBack(args?: IHtmlFormatterCallBack): () => void;
    /**
     * Specifies the event.
     */
    event: base.KeyboardEventArgs;
    /**
     * Specifies the ignoreDefault.
     */
    ignoreDefault?: boolean;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/base/types.d.ts
/**
 * Types type for EditorManager
 */
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
 */
export  class Alignments {
    private parent;
    private alignments;
    /**
     * Constructor for creating the Formats plugin
     * @hidden
     */
    constructor(parent: EditorManager);
    private addEventListener;
    private onKeyDown;
    private getTableNode;
    private applyAlignment;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/clearformat-exec.d.ts
/**
 * Clear Format EXEC internal component
 * @hidden
 */
export  class ClearFormatExec {
    private parent;
    /**
     * Constructor for creating the Formats plugin
     * @hidden
     */
    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;
    static clear(docElement: Document, endNode: Node, 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
 */
export  class DOMNode {
    private parent;
    private currentDocument;
    private nodeSelection;
    /**
     * Constructor for creating the DOMNode plugin
     * @hidden
     */
    constructor(parent: Element, currentDocument: Document);
    contents(element: Element): Node[];
    isBlockNode(element: Element): boolean;
    isLink(element: Element): boolean;
    blockParentNode(element: Element): Element;
    rawAttributes(element: Element): {
        [key: string]: string;
    };
    attributes(element?: Element): string;
    clearAttributes(element: Element): void;
    openTagString(element: Element): string;
    closeTagString(element: Element): string;
    createTagString(tagName: string, relativeElement: Element, innerHTML: string): string;
    isList(element: Element): boolean;
    isElement(element: Element): boolean;
    isEditable(element: Element): boolean;
    hasClass(element: Element, className: string): boolean;
    replaceWith(element: Element, value: string): void;
    parseHTMLFragment(value: string): Element;
    wrap(element: Element, wrapper: Element): Element;
    insertAfter(newNode: Element, referenceNode: Element): void;
    wrapInner(parent: Element, wrapper: Element): Element;
    unWrap(element: Element): Element[];
    getSelectedNode(element: Element, index: number): Element;
    nodeFinds(element: Element, elements: Element[]): Element[];
    isEditorArea(): boolean;
    getRangePoint(point?: number): Range | Range[];
    getSelection(): Selection;
    getPreviousNode(element: Element): Element;
    encode(value: string): string;
    saveMarker(save: NodeSelection, action?: string): NodeSelection;
    private marker;
    setMarker(save: NodeSelection): void;
    ensureSelfClosingTag(start: Element, className: string, range: Range): void;
    createTempNode(element: Element): Element;
    getImageTagInSelection(): NodeListOf<HTMLImageElement>;
    blockNodes(): Node[];
    private ignoreTableTag;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/formats.d.ts
/**
 * Formats internal component
 * @hidden
 */
export  class Formats {
    private parent;
    /**
     * Constructor for creating the Formats plugin
     * @hidden
     */
    constructor(parent: EditorManager);
    private addEventListener;
    private getParentNode;
    private applyFormats;
    private cleanFormats;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/image.d.ts
/**
 * Link internal component
 * @hidden
 */
export  class ImageCommand {
    private parent;
    /**
     * Constructor for creating the Formats plugin
     * @hidden
     */
    constructor(parent: EditorManager);
    private addEventListener;
    imageCommand(e: IHtmlItem): void;
    private createImage;
    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
 */
export  class Indents {
    private parent;
    private indentValue;
    /**
     * Constructor for creating the Formats plugin
     * @hidden
     */
    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 {
    static WrapBefore(textNode: Text, parentNode: HTMLElement, isAfter?: boolean): Text;
    static Wrap(childNode: HTMLElement, parentNode: HTMLElement): HTMLElement;
    static unwrap(node: Node | HTMLElement): Node[];
    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
 */
export  class InsertTextExec {
    private parent;
    /**
     * Constructor for creating the InsertText plugin
     * @hidden
     */
    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
 */
export  class InsertHtmlExec {
    private parent;
    /**
     * Constructor for creating the Formats plugin
     * @hidden
     */
    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
 */
export  class InsertHtml {
    static Insert(docElement: Document, insertNode: Node | string, editNode?: Element): void;
    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
 */
export  class IsFormatted {
    static inlineTags: string[];
    getFormattedNode(node: Node, format: string, endNode: Node): Node;
    private getFormatParent;
    private isFormattedNode;
    static isBold(node: Node): boolean;
    static isItalic(node: Node): boolean;
    static isUnderline(node: Node): boolean;
    static isStrikethrough(node: Node): boolean;
    static isSuperscript(node: Node): boolean;
    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
 */
export  class LinkCommand {
    private parent;
    /**
     * Constructor for creating the Formats plugin
     * @hidden
     */
    constructor(parent: EditorManager);
    private addEventListener;
    private linkCommand;
    private createLink;
    private removeText;
    private openLink;
    private removeLink;
    private callBack;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/lists.d.ts
/**
 * Lists internal component
 * @hidden
 */
export  class Lists {
    private parent;
    private startContainer;
    private endContainer;
    private saveSelection;
    private domNode;
    private currentAction;
    /**
     * Constructor for creating the Lists plugin
     * @hidden
     */
    constructor(parent: EditorManager);
    private addEventListener;
    private testList;
    private testCurrentList;
    private spaceList;
    private keyDownHandler;
    private getAction;
    private revertClean;
    private noPreviousElement;
    private nestedList;
    private applyListsHandler;
    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
 */
export  class MsWordPaste {
    private parent;
    constructor(parent?: EditorManager);
    private olData;
    private ulData;
    private ignorableNodes;
    private blockNode;
    private removableElements;
    private listContents;
    private addEventListener;
    private wordCleanup;
    private imageConversion;
    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 makeConversion;
    private getListStyle;
    private getListContent;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/nodecutter.d.ts
/**
 * Split the Node based on selection
 * @hidden
 */
export  class NodeCutter {
    position: number;
    private nodeSelection;
    GetSpliceNode(range: Range, node: HTMLElement): Node;
    private SplitNode;
    private spliceEmptyNode;
    private GetCursorStart;
    GetCursorRange(docElement: Document, range: Range, node: Node): Range;
    GetCursorNode(docElement: Document, range: Range, node: Node): Node;
    TrimLineBreak(line: string): string;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/selection-commands.d.ts
export  class SelectionCommands {
    static applyFormat(docElement: Document, format: string, endNode: Node, value?: string, selector?: string): void;
    private static insertCursorNode;
    private static removeFormat;
    private static insertFormat;
    private static applyStyles;
    private static getInsertNode;
    private static getChildNode;
    private static applySelection;
    private static GetFormatNode;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/selection-exec.d.ts
/**
 * Selection EXEC internal component
 * @hidden
 */
export  class SelectionBasedExec {
    private parent;
    /**
     * Constructor for creating the Formats plugin
     * @hidden
     */
    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
 */
export  class TableCommand {
    private parent;
    /**
     * Constructor for creating the Formats plugin
     * @hidden
     */
    constructor(parent: EditorManager);
    private addEventListener;
    private createTable;
    private removeEmptyNode;
    private insertAfter;
    private insertRow;
    private insertColumn;
    private deleteColumn;
    private deleteRow;
    private removeTable;
    private tableHeader;
    private tableVerticalAlign;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/editor-manager/plugin/toolbar-status.d.ts
/**
 * Update Toolbar Status
 * @hidden
 */
export  const statusCollection: IToolbarStatus;
export  class ToolbarStatus {
    static get(docElement: Document, targetNode: Node, formatNode?: string[], fontSize?: string[], fontName?: string[], documentNode?: Node): IToolbarStatus;
    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;
}
//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(e: IHtmlSubCommands): void;
    /**
     * Destroys the ToolBar.
     * @method destroy
     * @return {void}
     */
    destroy(): void;
    private keyDown;
    private keyUp;
    /**
     * RTE collection stored html format.
     * @method saveData
     * @return {void}
     */
    saveData(e?: KeyboardEvent | MouseEvent | IUndoCallBack): void;
    /**
     * Undo the editable text.
     * @method undo
     * @return {void}
     */
    undo(e?: IHtmlSubCommands | IHtmlKeyboardEvent): void;
    /**
     * Redo the editable text.
     * @method redo
     * @return {void}
     */
    redo(e?: IHtmlSubCommands | IHtmlKeyboardEvent): void;
    getUndoStatus(): {
        [key: string]: boolean;
    };
}
//node_modules/@syncfusion/ej2-richtexteditor/src/index.d.ts
/**
 * RichTextEditor 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
 */
export  const LISTS_COMMAND: string;
export  const selectionCommand: string;
export  const LINK_COMMAND: string;
export  const CLEAR_COMMAND: string;
export  const MD_TABLE: string;
//node_modules/@syncfusion/ej2-richtexteditor/src/markdown-parser/base/interface.d.ts
/**
 * Specifies IMDFormats interfaces.
 * @hidden
 */
export interface IMDFormats {
    /**
     * Specifies the formatTags.
     */
    syntax?: {
        [key: string]: string;
    };
    /**
     * Specifies the parent.
     */
    parent?: MarkdownParser;
}
/**
 * Specifies IMTable interfaces.
 * @hidden
 */
export interface IMDTable {
    syntaxTag?: {
        [key in MarkdownTableFormat]: {
            [key: string]: string;
        };
    };
    /**
     * Specifies the parent.
     */
    parent?: MarkdownParser;
}
export  type MarkdownTableFormat = 'Formats' | 'List';
/**
 * Specifies ISelectedLines interfaces.
 * @hidden
 */
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
 */
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
 */
export interface IMarkdownSubCommands {
    /**
     * Specifies the subCommand.
     */
    subCommand: string;
    /**
     * Specifies the callBack.
     */
    callBack(args?: IMarkdownFormatterCallBack): () => void;
    /**
     * Specifies the originalEvent.
     */
    event?: MouseEvent;
}
export interface MarkdownUndoRedoData {
    text?: string;
    start?: number;
    end?: number;
}
export interface IMarkdownItem {
    module?: string;
    event?: KeyboardEvent | MouseEvent;
    item: IMarkdownItemArgs;
    value?: IMarkdownItemArgs;
    subCommand: string;
    callBack(args: IMarkdownFormatterCallBack): () => void;
}
export interface IMarkdownItemArgs {
    url?: string;
    text?: string;
    target?: string;
    width?: number | string;
    height?: number | string;
    headingText?: string;
    colText?: string;
}
/**
 * Specifies IMDKeyboardEvent interfaces.
 * @hidden
 */
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
 */
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;
    /**
     * Constructor for creating the component
     * @hidden
     */
    constructor(options: IMarkdownParserModel);
    private initialize;
    private wireEvents;
    private onPropertyChanged;
    private editorKeyDown;
    private editorKeyUp;
    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
 */
export  type MarkdownExecCommand = 'Indents' | 'Lists' | 'Formats' | 'Alignments' | 'Style' | 'Effects' | 'Casing' | 'Actions' | 'table' | 'Links' | 'Images' | 'Clear';
//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
 */
export  class ClearFormat1 {
    private parent;
    private selection;
    /**
     * Constructor for creating the clear format plugin
     * @hidden
     */
    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
 */
export  class MDFormats {
    private parent;
    private selection;
    syntax: {
        [key: string]: string;
    };
    /**
     * Constructor for creating the Formats plugin
     * @hidden
     */
    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/link.d.ts
/**
 * Link internal component
 * @hidden
 */
export  class MDLink {
    private parent;
    private selection;
    /**
     * Constructor for creating the Formats plugin
     * @hidden
     */
    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
     * @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
 */
export  class MarkdownSelection {
    selectionStart: number;
    selectionEnd: number;
    getLineNumber(textarea: HTMLTextAreaElement, point: number): number;
    getSelectedText(textarea: HTMLTextAreaElement): string;
    getAllParents(value: string): string[];
    getSelectedLine(textarea: HTMLTextAreaElement): string;
    getLine(textarea: HTMLTextAreaElement, index: number): string;
    getSelectedParentPoints(textarea: HTMLTextAreaElement): {
        [key: string]: string | number;
    }[];
    setSelection(textarea: HTMLTextAreaElement, start: number, end: number): void;
    save(start: number, end: number): void;
    restore(textArea: HTMLTextAreaElement): void;
    isStartWith(line: string, command: string): boolean;
    replaceSpecialChar(value: string): string;
    isClear(parents: {
        [key: string]: string | number;
    }[], regex: string): boolean;
    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
 */
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
 */
export  class MDTable {
    private parent;
    private selection;
    private syntaxTag;
    private element;
    private locale;
    /**
     * Constructor for creating the Formats plugin
     * @hidden
     */
    constructor(options: IMDTable);
    private addEventListener;
    private removeEventListener;
    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.
     * @method destroy
     * @return {void}
     */
    destroy(): void;
    onAction(e: IMarkdownSubCommands): void;
    private keyDown;
    private keyUp;
    /**
     * MD collection stored string format.
     * @method saveData
     * @return {void}
     */
    saveData(e?: KeyboardEvent | MouseEvent | IUndoCallBack): void;
    /**
     * Undo the editable text.
     * @method undo
     * @return {void}
     */
    undo(e?: IMarkdownSubCommands | IMDKeyboardEvent): void;
    /**
     * Redo the editable text.
     * @method redo
     * @return {void}
     */
    redo(e?: IMarkdownSubCommands | IMDKeyboardEvent): void;
    private restore;
    getUndoStatus(): {
        [key: string]: boolean;
    };
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor.d.ts
/**
 * RichTextEditor 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(args: IQuickToolbarOptions): void;
    private createToolbar;
    private setPosition;
    private checkCollision;
    showPopup(x: number, y: number, target: Element): void;
    hidePopup(): void;
    /**
     * @hidden
     */
    addQTBarItem(item: (string | IToolbarItems)[], index: number): void;
    /**
     * @hidden
     */
    removeQTBarItem(index: number | HTMLElement[] | Element[]): void;
    private removeEleFromDOM;
    private updateStatus;
    /**
     * Destroys the Quick toolbar.
     * @method destroy
     * @return {void}
     * @hidden
     */
    destroy(): void;
    addEventListener(): void;
    /**
     * Called internally if any of the property value changed.
     * @hidden
     */
    protected onPropertyChanged(e: {
        [key: string]: RichTextEditorModel;
    }): void;
    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;
    protected parent: IRichTextEditor;
    protected locator: ServiceLocator;
    protected toolbarRenderer: IRenderer;
    protected renderFactory: RendererFactory;
    private tools;
    constructor(parent?: IRichTextEditor, serviceLocator?: ServiceLocator);
    private addEventListener;
    private removeEventListener;
    private setRtl;
    private getTemplateObject;
    getObject(item: string, container: string): IToolbarItemModel;
    /**
     * @hidden
     */
    getItems(tbItems: (string | IToolbarItems)[], container: string): navigations.ItemModel[];
    private getToolbarOptions;
    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 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(args: IColorPickerRenderArgs): void;
    private destroy;
    destroyColorPicker(): void;
    private setRtl;
    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(): void;
    private appendCount;
    private charCountBackground;
    /**
     * @hidden
     */
    refresh(): void;
    /**
     * Destroys the Count.
     * @method destroy
     * @return {void}
     * @hidden
     */
    destroy(): void;
    private toggle;
    protected addEventListener(): void;
    protected removeEventListener(): void;
    /**
     * For internal use only - Get the module name.
     */
    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 {
    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;
    protected parent: IRichTextEditor;
    protected locator: ServiceLocator;
    protected toolbarRenderer: IRenderer;
    protected renderFactory: RendererFactory;
    constructor(parent?: IRichTextEditor, serviceLocator?: ServiceLocator);
    private initializeInstance;
    private beforeRender;
    private dropdownContent;
    renderDropDowns(args: IDropDownRenderArgs): void;
    private getUpdateItems;
    private onPropertyChanged;
    private getEditNode;
    private rowDropDown;
    private columnDropDown;
    private verticalAlignDropDown;
    private imageDisplayDropDown;
    private imageAlignmentDropDown;
    private tableStylesDropDown;
    private removeDropDownClasses;
    destroyDropDowns(): void;
    private setRtl;
    protected addEventListener(): void;
    private onIframeMouseDown;
    protected removeEventListener(): void;
}
//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/full-screen.d.ts
/**
 * `FullScreen` module is used to maximize and minimize screen
 */
export  class FullScreen {
    private overflowData;
    protected parent: IRichTextEditor;
    private scrollableParent;
    constructor(parent?: IRichTextEditor);
    showFullScreen(event?: MouseEvent | base.KeyboardEventArgs): void;
    hideFullScreen(event?: MouseEvent | base.KeyboardEventArgs): void;
    private toggleParentOverflow;
    private onKeyDown;
    protected addEventListener(): void;
    protected removeEventListener(): void;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/actions/html-attributes.d.ts
/**
 * Used to set the HTML Attributes for RTE container
 */
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 saveSelection;
    private sanitize;
    constructor(parent?: IRichTextEditor, serviceLocator?: ServiceLocator);
    /**
     * Destroys the Markdown.
     * @method destroy
     * @return {void}
     * @hidden
     */
    destroy(): void;
    /**
     * @hidden
     */
    sanitizeHelper(value: string): string;
    private addEventListener;
    private updateReadOnly;
    private onSelectionSave;
    private onSelectionRestore;
    private onKeyDown;
    private onPaste;
    private spaceLink;
    private onToolbarClick;
    private renderColorPicker;
    private instantiateRenderer;
    private removeEventListener;
    private render;
    /**
     * Called internally if any of the property value changed.
     * @hidden
     */
    protected onPropertyChanged(e: {
        [key: string]: RichTextEditorModel;
    }): void;
    /**
     * For internal use only - Get the module name.
     */
    private getModuleName;
    /**
     * For selecting all content in RTE
     * @private
     */
    private selectAll;
    /**
     * For selecting all content in RTE
     * @private
     */
    private selectRange;
    /**
     * For get a selected text in RTE
     * @private
     */
    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;
    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?: 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
 */
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: base.EmitType<KeyboardEventArgs>;
    /**
     * Initializes the KeyboardEvents
     * @param {HTMLElement} element
     * @param {base.KeyboardEventsModel} options
     */
    constructor(element: HTMLElement, options?: base.KeyboardEventsModel);
    /**
     * Unwire bound events and destroy the instance.
     * @return {void}
     */
    destroy(): void;
    /**
     * Function can be used to specify certain action if a property is changed
     * @param newProp
     * @param oldProp
     * @returns {void}
     * @private
     */
    onPropertyChanged(newProp: base.KeyboardEventsModel, oldProp?: base.KeyboardEventsModel): void;
    protected bind(): void;
    /**
     * To get the module name, returns 'keyboard'.
     * @private
     */
    getModuleName(): string;
    /**
     * Wiring event handlers to events
     */
    private wireEvents;
    /**
     * Unwiring event handlers to events
     */
    private unwireEvents;
    /**
     * To handle a key press event returns null
     */
    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-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.
     * @method destroy
     * @return {void}
     * @hidden
     */
    destroy(): void;
    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.
     * @hidden
     */
    protected onPropertyChanged(e: {
        [key: string]: RichTextEditorModel;
    }): void;
    /**
     * For internal use only - Get the module name.
     */
    private getModuleName;
    /**
     * For selecting all content in RTE
     * @private
     */
    private selectAll;
    /**
     * For get a selected text in RTE
     * @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;
    constructor(parent: IRichTextEditor);
    private addEventListener;
    private removeEventListener;
    private onRefreshHandler;
    private isListsApplied;
    private currentFormat;
    private codeFormat;
    private getSelectedText;
    private isCode;
    private multiCharRegx;
}
/**
 * @hidden
 */
//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 inlineNode;
    private blockNode;
    constructor(parent?: IRichTextEditor, serviceLocator?: ServiceLocator);
    private addEventListener;
    private destroy;
    private removeEventListener;
    private pasteClean;
    private imgUploading;
    private uploadMethod;
    private popupClose;
    private refreshPopup;
    private base64ToFile;
    /**
     * Method for image formatting when pasting
     * @hidden
     */
    private imageFormatting;
    private radioRender;
    private selectFormatting;
    private pasteDialog;
    private destroyDialog;
    private formatting;
    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.
     */
    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;
    tableQTBar: BaseQuickToolbar;
    inlineQTBar: BaseQuickToolbar;
    private renderFactory;
    constructor(parent?: IRichTextEditor, locator?: ServiceLocator);
    private formatItems;
    private getQTBarOptions;
    createQTBar(popupType: string, mode: string, items: (string | IToolbarItems)[], type: RenderType): BaseQuickToolbar;
    private initializeQuickToolbars;
    private onMouseDown;
    private renderQuickToolbars;
    private renderInlineQuickToolbar;
    private showInlineQTBar;
    private hideInlineQTBar;
    /**
     * Method for hidding the quick toolbar
     * @hidden
     */
    hideQuickToolbars(): void;
    private deBounce;
    private mouseUpHandler;
    private keyDownHandler;
    private inlineQTBarMouseDownHandler;
    private keyUpHandler;
    private selectionChangeHandler;
    private onSelectionChange;
    getInlineBaseToolbar(): BaseToolbar;
    /**
     * Destroys the ToolBar.
     * @method destroy
     * @return {void}
     * @hidden
     */
    destroy(): void;
    private wireInlineQTBarEvents;
    private unWireInlineQTBarEvents;
    private toolbarUpdated;
    addEventListener(): void;
    private onKeyDown;
    private onIframeMouseDown;
    private setRtl;
    removeEventListener(): void;
    /**
     * Called internally if any of the property value changed.
     * @hidden
     */
    protected onPropertyChanged(e: {
        [key: string]: RichTextEditorModel;
    }): void;
    /**
     * For internal use only - Get the module name.
     */
    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;
    constructor(parent?: IRichTextEditor);
    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.
     */
    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 {
    protected 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(): void;
    removeFixedTBarClass(): void;
    private showFixedTBar;
    private hideFixedTBar;
    updateItem(args: IUpdateItemsModel): void;
    private updateToolbarStatus;
    private fullScreen;
    private hideScreen;
    getBaseToolbar(): BaseToolbar;
    addTBarItem(args: IUpdateItemsModel, index: number): void;
    enableTBarItems(baseToolbar: BaseToolbar, items: string | string[], isEnable: boolean, muteToolbarUpdate?: boolean): void;
    removeTBarItems(items: string | string[]): void;
    getExpandTBarPopHeight(): number;
    getToolbarHeight(): number;
    getToolbarElement(): Element;
    refreshToolbarOverflow(): void;
    private isToolbarDestroyed;
    private destroyToolbar;
    /**
     * Destroys the ToolBar.
     * @method destroy
     * @return {void}
     * @hidden
     */
    destroy(): void;
    private scrollHandler;
    private getDOMVisibility;
    private mouseDownHandler;
    private focusChangeHandler;
    private dropDownBeforeOpenHandler;
    private toolbarMouseDownHandler;
    protected wireEvents(): void;
    protected unWireEvents(): void;
    protected addEventListener(): void;
    protected removeEventListener(): void;
    private onRefresh;
    /**
     * Called internally if any of the property value changed.
     * @hidden
     */
    protected onPropertyChanged(e: {
        [key: string]: RichTextEditorModel;
    }): void;
    private refreshToolbar;
    /**
     * For internal use only - Get the module name.
     */
    private getModuleName;
}
//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
/**
 * RichTextEditor classes defined here.
 */
/** @hidden */
export  const CLS_RTE: string;
/** @hidden */
export  const CLS_RTL: string;
/** @hidden */
export  const CLS_CONTENT: string;
/** @hidden */
export  const CLS_DISABLED: string;
/** @hidden */
export  const CLS_SCRIPT_SHEET: string;
/** @hidden */
export  const CLS_STYLE_SHEET: string;
/** @hidden */
export  const CLS_TOOLBAR: string;
/** @hidden */
export  const CLS_TB_FIXED: string;
/** @hidden */
export  const CLS_TB_FLOAT: string;
/** @hidden */
export  const CLS_TB_ABS_FLOAT: string;
/** @hidden */
export  const CLS_INLINE: string;
/** @hidden */
export  const CLS_TB_INLINE: string;
/** @hidden */
export  const CLS_RTE_EXPAND_TB: string;
/** @hidden */
export  const CLS_FULL_SCREEN: string;
/** @hidden */
export  const CLS_QUICK_TB: string;
/** @hidden */
export  const CLS_POP: string;
/** @hidden */
export  const CLS_QUICK_POP: string;
/** @hidden */
export  const CLS_QUICK_DROPDOWN: string;
/** @hidden */
export  const CLS_IMAGE_POP: string;
/** @hidden */
export  const CLS_INLINE_POP: string;
/** @hidden */
export  const CLS_INLINE_DROPDOWN: string;
/** @hidden */
export  const CLS_DROPDOWN_POPUP: string;
/** @hidden */
export  const CLS_DROPDOWN_ICONS: string;
/** @hidden */
export  const CLS_DROPDOWN_ITEMS: string;
/** @hidden */
export  const CLS_DROPDOWN_BTN: string;
/** @hidden */
export  const CLS_RTE_CONTENT: string;
/** @hidden */
export  const CLS_TB_ITEM: string;
/** @hidden */
export  const CLS_TB_EXTENDED: string;
/** @hidden */
export  const CLS_TB_WRAP: string;
/** @hidden */
export  const CLS_POPUP: string;
/** @hidden */
export  const CLS_SEPARATOR: string;
/** @hidden */
export  const CLS_MINIMIZE: string;
/** @hidden */
export  const CLS_MAXIMIZE: string;
/** @hidden */
export  const CLS_BACK: string;
/** @hidden */
export  const CLS_SHOW: string;
/** @hidden */
export  const CLS_HIDE: string;
/** @hidden */
export  const CLS_VISIBLE: string;
/** @hidden */
export  const CLS_FOCUS: string;
/** @hidden */
export  const CLS_RM_WHITE_SPACE: string;
/** @hidden */
export  const CLS_IMGRIGHT: string;
/** @hidden */
export  const CLS_IMGLEFT: string;
/** @hidden */
export  const CLS_IMGCENTER: string;
/** @hidden */
export  const CLS_IMGBREAK: string;
/** @hidden */
export  const CLS_CAPTION: string;
/** @hidden */
export  const CLS_CAPINLINE: string;
/** @hidden */
export  const CLS_IMGINLINE: string;
/** @hidden */
export  const CLS_COUNT: string;
/** @hidden */
export  const CLS_WARNING: string;
/** @hidden */
export  const CLS_ERROR: string;
/** @hidden */
export  const CLS_ICONS: string;
/** @hidden */
export  const CLS_ACTIVE: string;
/** @hidden */
export  const CLS_EXPAND_OPEN: string;
/** @hidden */
export  const CLS_RTE_ELEMENTS: string;
/** @hidden */
export  const CLS_TB_BTN: string;
/** @hidden */
export  const CLS_HR_SEPARATOR: string;
/** @hidden */
export  const CLS_TB_IOS_FIX: string;
/** @hidden */
export  const CLS_TB_STATIC: string;
/** @hidden */
export  const CLS_FORMATS_TB_BTN: string;
/** @hidden */
export  const CLS_FONT_NAME_TB_BTN: string;
/** @hidden */
export  const CLS_FONT_SIZE_TB_BTN: string;
/** @hidden */
export  const CLS_FONT_COLOR_TARGET: string;
/** @hidden */
export  const CLS_BACKGROUND_COLOR_TARGET: string;
/** @hidden */
export  const CLS_COLOR_CONTENT: string;
/** @hidden */
export  const CLS_FONT_COLOR_DROPDOWN: string;
/** @hidden */
export  const CLS_BACKGROUND_COLOR_DROPDOWN: string;
/** @hidden */
export  const CLS_COLOR_PALETTE: string;
/** @hidden */
export  const CLS_FONT_COLOR_PICKER: string;
/** @hidden */
export  const CLS_BACKGROUND_COLOR_PICKER: string;
/** @hidden */
export  const CLS_RTE_READONLY: string;
/** @hidden */
export  const CLS_TABLE_SEL: string;
/** @hidden */
export  const CLS_TB_DASH_BOR: string;
/** @hidden */
export  const CLS_TB_ALT_BOR: string;
/** @hidden */
export  const CLS_TB_COL_RES: string;
/** @hidden */
export  const CLS_TB_ROW_RES: string;
/** @hidden */
export  const CLS_TB_BOX_RES: string;
/** @hidden */
export  const CLS_RTE_HIDDEN: string;
/** @hidden */
export  const CLS_RTE_PASTE_KEEP_FORMAT: string;
/** @hidden */
export  const CLS_RTE_PASTE_REMOVE_FORMAT: string;
/** @hidden */
export  const CLS_RTE_PASTE_PLAIN_FORMAT: string;
/** @hidden */
export  const CLS_RTE_PASTE_OK: string;
/** @hidden */
export  const CLS_RTE_PASTE_CANCEL: string;
/** @hidden */
export  const CLS_RTE_DIALOG_MIN_HEIGHT: string;
/** @hidden */
export  const CLS_RTE_RES_HANDLE: string;
/** @hidden */
export  const CLS_RTE_RES_EAST: string;
/** @hidden */
export  const CLS_RTE_IMAGE: string;
/** @hidden */
export  const CLS_RESIZE: string;
/** @hidden */
export  const CLS_IMG_FOCUS: string;
/** @hidden */
export  const CLS_RTE_DRAG_IMAGE: string;
/** @hidden */
export  const CLS_RTE_UPLOAD_POPUP: string;
/** @hidden */
export  const CLS_POPUP_OPEN: string;
/** @hidden */
export  const CLS_IMG_RESIZE: string;
/** @hidden */
export  const CLS_DROPAREA: string;
/** @hidden */
export  const CLS_IMG_INNER: string;
/** @hidden */
export  const CLS_UPLOAD_FILES: string;
/** @hidden */
export  const CLS_RTE_DIALOG_UPLOAD: string;
/** @hidden */
export  const CLS_RTE_RES_CNT: string;
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/base/constant.d.ts
/** @hidden */
export  const created: string;
/** @hidden */
export  const destroyed: string;
/** @hidden */
export  const load: string;
/**
 * Specifies RichTextEditor internal events
 */
/** @hidden */
export  const initialLoad: string;
/** @hidden */
export  const initialEnd: string;
/** @hidden */
export  const iframeMouseDown: string;
/** @hidden */
export  const destroy: string;
/** @hidden */
export  const toolbarClick: string;
/** @hidden */
export  const toolbarRefresh: string;
/** @hidden */
export  const refreshBegin: string;
/** @hidden */
export  const toolbarUpdated: string;
/** @hidden */
export  const bindOnEnd: string;
/** @hidden */
export  const renderColorPicker: string;
/** @hidden */
export  const htmlToolbarClick: string;
/** @hidden */
export  const markdownToolbarClick: string;
/** @hidden */
export  const destroyColorPicker: string;
/** @hidden */
export  const modelChanged: string;
/** @hidden */
export  const keyUp: string;
/** @hidden */
export  const keyDown: string;
/** @hidden */
export  const mouseUp: string;
/** @hidden */
export  const toolbarCreated: string;
/** @hidden */
export  const toolbarRenderComplete: string;
/** @hidden */
export  const enableFullScreen: string;
/** @hidden */
export  const disableFullScreen: string;
/** @hidden */
export  const dropDownSelect: string;
/** @hidden */
export  const beforeDropDownItemRender: string;
/** @hidden */
export  const execCommandCallBack: string;
/** @hidden */
export  const imageToolbarAction: string;
/** @hidden */
export  const linkToolbarAction: string;
/** @hidden */
export  const resizeStart: string;
/** @hidden */
export  const onResize: string;
/** @hidden */
export  const resizeStop: string;
/** @hidden */
export  const undo: string;
/** @hidden */
export  const redo: string;
/** @hidden */
export  const insertLink: string;
/** @hidden */
export  const unLink: string;
/** @hidden */
export  const editLink: string;
/** @hidden */
export  const openLink: string;
/** @hidden */
export  const actionBegin: string;
/** @hidden */
export  const actionComplete: string;
/** @hidden */
export  const toolbarStatusUpdate: string;
/** @hidden */
export  const actionSuccess: string;
/** @hidden */
export  const updateToolbarItem: string;
/** @hidden */
export  const insertImage: string;
/** @hidden */
export  const insertCompleted: string;
/** @hidden */
export  const imageLeft: string;
/** @hidden */
export  const imageRight: string;
/** @hidden */
export  const imageCenter: string;
/** @hidden */
export  const imageBreak: string;
/** @hidden */
export  const imageInline: string;
/** @hidden */
export  const imageLink: string;
/** @hidden */
export  const imageAlt: string;
/** @hidden */
export  const imageDelete: string;
/** @hidden */
export  const imageCaption: string;
/** @hidden */
export  const imageSize: string;
/** @hidden */
export  const sourceCode: string;
/** @hidden */
export  const updateSource: string;
/** @hidden */
export  const toolbarOpen: string;
/** @hidden */
export  const beforeDropDownOpen: string;
/** @hidden */
export  const selectionSave: string;
/** @hidden */
export  const selectionRestore: string;
/** @hidden */
export  const expandPopupClick: string;
/** @hidden */
export  const count: string;
/** @hidden */
export  const contentFocus: string;
/** @hidden */
export  const contentBlur: string;
/** @hidden */
export  const mouseDown: string;
/** @hidden */
export  const sourceCodeMouseDown: string;
/** @hidden */
export  const editAreaClick: string;
/** @hidden */
export  const scroll: string;
/** @hidden */
export  const contentscroll: string;
/** @hidden */
export  const colorPickerChanged: string;
/** @hidden */
export  const tableColorPickerChanged: string;
/** @hidden */
export  const focusChange: string;
/** @hidden */
export  const selectAll: string;
/** @hidden */
export  const selectRange: string;
/** @hidden */
export  const getSelectedHtml: string;
/** @hidden */
export  const renderInlineToolbar: string;
/** @hidden */
export  const paste: string;
/** @hidden */
export  const imgModule: string;
/** @hidden */
export  const rtlMode: string;
/** @hidden */
export  const createTable: string;
/** @hidden */
export  const docClick: string;
/** @hidden */
export  const tableToolbarAction: string;
/** @hidden */
export  const checkUndo: string;
/** @hidden */
export  const readOnlyMode: string;
/** @hidden */
export  const pasteClean: string;
/** @hidden */
export  const beforeDialogOpen: string;
/** @hidden */
export  const dialogOpen: string;
/** @hidden */
export  const dialogClose: string;
/** @hidden */
export  const beforeQuickToolbarOpen: string;
/** @hidden */
export  const quickToolbarOpen: string;
/** @hidden */
export  const quickToolbarClose: string;
/** @hidden */
export  const popupHide: string;
/** @hidden */
export  const imageSelected: string;
/** @hidden */
export  const imageUploading: string;
/** @hidden */
export  const imageUploadSuccess: string;
/** @hidden */
export  const imageUploadFailed: string;
/** @hidden */
export  const imageRemoving: string;
/** @hidden */
export  const drop: string;
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/base/enum.d.ts
/**
 * Defines types of Render
 * @hidden
 */
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 InlineToolbar */
    InlineToolbar = 6,
    /**  Defines RenderType as TableToolbar */
    TableToolbar = 7
}
export  type ActionOnScroll = 'hide' | 'none';
export  enum ToolbarType {
    /**  Defines ToolbarType as Standard */
    Expand = "Expand",
    /**  Defines ToolbarType as MultiRow */
    MultiRow = "MultiRow"
}
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';
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/base/interface.d.ts
/**
 * Specifies RichTextEditor interfaces.
 * @hidden
 */
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;
    tableSettings: TableSettingsModel;
    pasteCleanupSettings: PasteCleanupSettingsModel;
    floatingToolbarOffset?: number;
    showCharCount?: boolean;
    enableTabKey?: boolean;
    maxLength?: number;
    inlineMode?: InlineModeModel;
    width?: string | number;
    fontFamily?: IFontProperties;
    fontSize?: IFontProperties;
    fontColor?: IColorProperties;
    backgroundColor?: IColorProperties;
    format?: IFormatProperties;
    value?: string;
    isBlur?: boolean;
    isRTE?: boolean;
    contentModule?: IRenderer;
    enabled?: boolean;
    readonly?: boolean;
    placeholder?: string;
    valueContainer?: HTMLTextAreaElement;
    editorMode?: EditorMode;
    enableHtmlEncode?: boolean;
    formatter?: IFormatter;
    inputElement?: HTMLElement;
    toolbarModule?: Toolbar;
    tableModule?: Table;
    sourceCodeModule?: ViewSource;
    getToolbarElement?(): Element;
    fullScreenModule?: FullScreen;
    resizeModule?: Resize;
    refreshUI?(): void;
    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: Function): Boolean;
    getToolbar(): HTMLElement;
    getTBarItemsIndex?(items: string[]): number[];
    getCollection?(items: string | string[]): string[];
    getRange(): Range;
    getID(): 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;
    preventDefaultResize?(e?: FocusEvent | MouseEvent): void;
    autoResize?(): void;
    executeCommand?(commandName: CommandName, value?: string | HTMLElement): void;
    serializeValue?(value: string): string;
    sanitizeHtml?(value: string): string;
    enableAutoUrl?: boolean;
}
export interface IRenderer {
    linkQTBar?: BaseQuickToolbar;
    imageQTBar?: 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): splitbuttons.DropDownButton;
}
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;
    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[];
}
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 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;
}
export interface ITouchData {
    prevClientX?: number;
    prevClientY?: number;
    clientX?: number;
    clientY?: number;
}
/**
 * @hidden
 */
export interface IColorPickerModel extends inputs.ColorPickerModel {
    element?: HTMLElement;
    value?: string;
    command?: string;
    subCommand?: string;
    target?: string;
    iconCss?: string;
}
/**
 * @hidden
 */
export interface IColorPickerEventArgs extends inputs.ColorPickerEventArgs {
    item?: IColorPickerModel;
    originalEvent: string;
    cancel?: boolean;
}
/**
 * @hidden
 */
export interface IDropDownItem extends navigations.ItemModel {
    command?: string;
    subCommand?: string;
    controlParent?: splitbuttons.DropDownButton;
}
/**
 * @hidden
 */
export interface IDropDownClickArgs extends navigations.ClickEventArgs {
    item: IDropDownItem;
}
export interface IColorPickerRenderArgs {
    items?: string[];
    containerType?: string;
    container?: HTMLElement;
}
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;
    link?: HTMLInputElement | HTMLElement;
    selectNode?: Node[];
    selectParent?: Node[];
    target?: string;
    alt?: HTMLInputElement | HTMLElement;
    text?: string;
    member?: string;
    name?: string;
    cssClass?: string;
}
export interface IImageCommandsArgs {
    url?: string;
    selection?: NodeSelection;
    width?: {
        minWidth?: string | number;
        maxWidth?: string | number;
        width?: string | number;
    };
    height?: {
        minHeight?: string | number;
        maxHeight?: string | number;
        height?: string | number;
    };
    altText?: string;
    selectParent?: Node[];
    cssClass?: string;
    selectNode?: Node[];
}
export interface ImageDragEvent extends DragEvent {
    rangeParent?: Element;
    rangeOffset?: number;
}
export interface ILinkCommandsArgs {
    url?: string;
    selection?: NodeSelection;
    title?: string;
    text?: string;
    target?: Element;
    selectParent?: Node[];
}
export interface ITableArgs {
    row?: number;
    columns?: number;
    width?: {
        minWidth?: string | number;
        maxWidth?: string | number;
        width?: string | number;
    };
    selection?: NodeSelection;
    selectNode?: Node[];
    selectParent?: Node[];
    subCommand?: string;
}
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;
}
export interface IEditorModel {
    execCommand?: Function;
    observer?: base.Observer;
    markdownSelection?: MarkdownSelection;
    undoRedoManager?: UndoRedoManager | UndoRedoCommands;
    nodeSelection?: NodeSelection;
    mdSelectionFormats?: MDSelectionFormats;
}
export interface IToolbarItems {
    template?: string;
    tooltipText?: string;
}
/**
 * @hidden
 */
export interface IToolbarItemModel extends navigations.ItemModel {
    command?: string;
    subCommand?: string;
}
export interface IToolbarOptions {
    enableRtl: boolean;
    target: HTMLElement;
    items?: navigations.ItemModel[];
    rteToolbarObj: BaseToolbar;
    enablePersistence: boolean;
    overflowMode?: navigations.OverflowMode;
}
export interface IToolbarSettings {
    enable?: boolean;
    items?: (string | IToolbarItems)[];
    target?: HTMLElement;
    type?: ToolbarType;
}
export interface IToolbarRenderOptions {
    target: HTMLElement;
    items?: (string | IToolbarItems)[];
    mode?: navigations.OverflowMode;
    container?: string;
}
export interface IDropDownModel {
    content?: string;
    items: IDropDownItemModel[];
    iconCss?: string;
    itemName: string;
    cssClass: string;
    element: HTMLElement;
}
export interface IToolsItems {
    id: string;
    icon?: string;
    tooltip?: string;
    command?: string;
    subCommand?: string;
    value?: string;
}
export interface IToolsItemConfigs {
    icon?: string;
    tooltip?: string;
    command?: string;
    subCommand?: string;
    value?: string;
}
/**
 * @hidden
 */
export interface IDropDownItemModel extends splitbuttons.ItemModel {
    cssClass?: string;
    command?: string;
    subCommand?: string;
    value?: string;
    text?: string;
}
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;
}
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 url action details.
     * @deprecated
     */
    itemCollection?: IItemCollectionArgs;
}
export interface PrintEventArgs extends ActionBeginEventArgs {
    /** Defines the RTE element. */
    element?: Element;
}
export interface IShowPopupArgs {
    args?: MouseEvent | TouchEvent | KeyboardEvent;
    type?: string;
    isNotify: boolean;
    elements?: Element | Element[];
}
export interface IUpdateItemsModel {
    targetItem: string;
    updateItem: string;
    baseToolbar: BaseToolbar;
}
export interface IDropDownRenderArgs {
    items?: string[];
    containerType?: string;
    container?: HTMLElement;
}
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;
}
export interface IQuickToolbarOptions {
    popupType: string;
    mode: navigations.OverflowMode;
    renderType: RenderType;
    toolbarItems: (string | IToolbarItems)[];
}
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;
}
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;
}
export interface IAdapterProcess {
    text: string;
    range: Range;
    actionName: string;
}
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;
}
export interface IHtmlFormatterModel {
    currentDocument?: Document;
    element?: Element;
    keyConfig?: {
        [key: string]: string;
    };
    options?: {
        [key: string]: number;
    };
}
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;
    };
}
export interface IFontProperties {
    default?: string;
    items?: IDropDownItemModel[];
    width?: string;
}
export interface IFormatProperties {
    default?: string;
    types?: IDropDownItemModel[];
    width?: string;
}
export interface OffsetPosition {
    left: number;
    top: number;
}
export interface ResizeArgs {
    /** Defines the resize event args. */
    event?: MouseEvent | TouchEvent;
    /** Defines the request type. */
    requestType?: string;
    /** Defines the prevent action. */
    cancel?: boolean;
}
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;
}
export interface SanitizeSelectors {
    /** Returns the tags. */
    tags?: string[];
    /** Returns the attributes. */
    attributes?: SanitizeRemoveAttrs[];
}
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 interface ISetToolbarStatusArgs {
    args: IToolbarStatus;
    parent: IRichTextEditor;
    tbElements: HTMLElement[];
    tbItems: IToolbarItemModel[];
    dropDownModule: DropDownButtons;
}
export  type ColorModeType = 'Picker' | 'Palette';
export interface IColorProperties {
    default?: string;
    mode?: ColorModeType;
    columns?: number;
    colorCode?: {
        [key: string]: string[];
    };
    modeSwitcher?: boolean;
}
export interface IExecutionGroup {
    command: string;
    subCommand?: string;
    value?: string;
}
/** @hidden  */
export  const executeGroup: {
    [key: string]: IExecutionGroup;
};
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' | 'insertHorizontalRule' | 'insertBrOnReturn';
//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 RichTextEditor 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 RichTextEditor 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.
     * @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'.
     * @default
     * {
     *  enable: true,
     *  actionOnScroll: 'hide',
     *  link: ['Open', 'Edit', 'UnLink'],
     *  image: ['Replace', 'Align', 'Caption', 'Remove', '-', 'InsertLink', 'Display', 'AltText', 'Dimension'],
     *  text: ['Cut', 'Copy', 'Paste']
     * }
     */
    quickToolbarSettings?: QuickToolbarSettingsModel;
    /**
     * Specifies the pasting options in RichTextEditor 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.
     * @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', '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
     * @default
     * {
     *  enable: false,
     *  base.attributes: null,
     *  resources: { styles: [], scripts: [] }
     * }
     */
    iframeSettings?: IFrameSettingsModel;
    /**
     * Specifies the image insert options in RichTextEditor 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 RichTextEditor (Base64 or Blob).
     * * height - Sets the default height of the image when it is inserted in the RichTextEditor.
     * * saveUrl - Provides URL to map the action result method to save the image.
     * * path - Specifies the location to store the image.
     * @default 
     * {
     *  allowedTypes: ['.jpeg', '.jpg', '.png'],
     *  display: 'inline',
     *  width: 'auto', 
     *  height: 'auto', 
     *  saveFormat: 'Blob'
     *  saveUrl: null, 
     *  path: null,
     * }
     */
    insertImageSettings?: ImageSettingsModel;
    /**
     * Specifies the table insert options in RichTextEditor 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.
     * @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 RichTextEditor 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.
     * @default
     * {
     *  enable: false,
     *  onSelection: true
     * }
     */
    inlineMode?: InlineModeModel;
    /**
     * 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 RichTextEditor is persisted
     * @default false.
     */
    enablePersistence?: boolean;
    /**
     * Enables or disables the resizing option in the editor. 
     * If enabled, the RichTextEditor can be resized by dragging the resize icon in the bottom right corner.
     * @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 RichTextEditor body is empty.
     * @default null.
     */
    placeholder?: string;
    /**
     * 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.
     * @default true.
     */
    enabled?: boolean;
    /**
     * specifies the value whether the source code is displayed with encoded format. 
     * @default false.
     */
    enableHtmlEncode?: boolean;
    /**
     * Specifies the height of the RichTextEditor 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 RichTextEditor can be loaded with dynamic data such as database, AJAX content, and more.
     * @default null 
     */
    value?: string;
    /**
     * Specifies the count of undo history which is stored in undoRedoManager. 
     * @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 RichTextEditor as HTML editor using &lt;
IFRAME&gt;
 element or content editable &lt;
div&gt;
 element
     *     or &lt;
textarea&gt;
 element.
     * 
     *   - `Markdown` - Render RichTextEditor 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.
     * @default null 
     */
    keyConfig?: { [key: string]: string };
    /**
     * Sets Boolean value to enable or disable the display of the character counter. 
     * @default false 
     */
    showCharCount?: boolean;
    /**
     * Allows the tab key action in the RichTextEditor content. 
     * @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.
     * @default false
     */
    enableAutoUrl?: boolean;
    /**
     * Specifies the maximum number of characters allowed in the RichTextEditor component.
     * @default -1
     */
    maxLength?: number;
    /**
     * Predefine the collection of paragraph styles along with quote and code style that populate in format dropdown from the toolbar.
     * @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 font families that populate in font family dropdown list from the toolbar.
     * @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.
     * @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 .
     * @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.
     * @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
     * @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.
     * @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
     * @blazorProperty 'OnActionBegin'
     */
    actionBegin?: base.EmitType<ActionBeginEventArgs>;
    /**
     * Triggers after command execution using toolbar items or executeCommand method.
     * @event
     * @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
     * @blazorProperty 'OnDialogOpen'
     * @blazorType Syncfusion.EJ2.Blazor.Popups.popups.BeforeOpenEventArgs
     */
    beforeDialogOpen?: base.EmitType<popups.BeforeOpenEventArgs>;
    /**
     * base.Event triggers when a dialog is opened.
     * @event
     * @blazorProperty 'DialogOpened'
     * @blazorType DialogOpenEventArgs
     */
    dialogOpen?: base.EmitType<Object>;
    /**
     * base.Event triggers after the dialog has been closed.
     * @event
     * @blazorProperty 'DialogClosed'
     * @blazorType DialogCloseEventArgs
     */
    dialogClose?: base.EmitType<Object>;
    /**
     * base.Event triggers when the quick toolbar is being opened.
     * @event
     * @blazorProperty 'OnQuickToolbarOpen'
     */
    beforeQuickToolbarOpen?: base.EmitType<BeforeQuickToolbarOpenArgs>;
    /**
     * base.Event triggers when a quick toolbar is opened.
     * @event
     * @blazorProperty 'QuickToolbarOpened'
     * @blazorType QuickToolbarEventArgs
     */
    quickToolbarOpen?: base.EmitType<Object>;
    /**
     * base.Event triggers after the quick toolbar has been closed.
     * @event
     * @blazorProperty 'QuickToolbarClosed'
     * @blazorType QuickToolbarEventArgs
     */
    quickToolbarClose?: base.EmitType<Object>;
    /**
     * Triggers when the undo and redo status is updated.
     * @event
     * @blazorType ToolbarUpdateEventArgs
     */
    toolbarStatusUpdate?: base.EmitType<Object>;
    /**
     * base.Event triggers when the image is selected or dragged into the insert image dialog.
     * @event
     * @blazorProperty 'OnImageSelected'
     */
    imageSelected?: base.EmitType<inputs.SelectedEventArgs>;
    /**
     * base.Event triggers when the selected image begins to upload in the insert image dialog.
     * @event
     * @blazorProperty 'OnImageUploading'
     */
    imageUploading?: base.EmitType<inputs.UploadingEventArgs>;
    /**
     * base.Event triggers when the image is successfully uploaded to the server side.
     * @event
     * @blazorProperty 'OnImageUploadSuccess'
     * @blazorType ImageSuccessEventArgs
     */
    imageUploadSuccess?: base.EmitType<Object>;
    /**
     * base.Event triggers when there is an error in the image upload.
     * @event
     * @blazorProperty 'OnImageUploadFailed'
     * @blazorType ImageFailedEventArgs
     */
    imageUploadFailed?: base.EmitType<Object>;
    /**
     * base.Event triggers when the selected image is cleared from the insert image dialog.
     * @event
     * @blazorProperty 'OnImageRemoving'
     */
    imageRemoving?: base.EmitType<inputs.RemovingEventArgs>;
    /**
     * Triggers when the RichTextEditor is rendered.
     * @event 
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the RichTextEditor is destroyed.
     * @event 
     * @blazorProperty 'Destroyed'
     * @blazorType DestroyedEventArgs
     */
    destroyed?: base.EmitType<Object>;
    /**
     * base.Event triggers before sanitize the value. It's only applicable to editorMode as `HTML`.
     * @event 
     * @blazorProperty 'OnSanitizeHtml'
     */
    beforeSanitizeHtml?: base.EmitType<BeforeSanitizeHtmlArgs>;
    /**
     * Triggers when RichTextEditor is focused out.
     * @event
     * @blazorType BlurEventArgs
     */
    blur?: base.EmitType<Object>;
    /**
     * Triggers when RichTextEditor Toolbar items is clicked.
     * @event
     * @blazorProperty 'OnToolbarClick'
     * @blazorType ToolbarClickEventArgs
     */
    toolbarClick?: base.EmitType<Object>;
    /**
     * Triggers when RichTextEditor is focused in
     * @event
     * @blazorType FocusEventArgs
     */
    focus?: base.EmitType<Object>;
    /**
     * Triggers only when RichTextEditor is blurred and changes are done to the content.
     * @event 
     * @blazorProperty 'ValueChange'
     */
    change?: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers only when resizing the image.
     * @event 
     * @blazorProperty 'Resizing'
     */
    resizing?: base.EmitType<ResizeArgs>;
    /**
     * Triggers only when start resize the image.
     * @event 
     * @blazorProperty 'OnResizeStart'
     */
    resizeStart?: base.EmitType<ResizeArgs>;
    /**
     * Triggers only when stop resize the image.
     * @event 
     * @blazorProperty 'OnResizeStop'
     */
    resizeStop?: base.EmitType<ResizeArgs>;
    /**
     * Customize keyCode to change the key value. 
     * @default null 
     * @blazorType object
     */
    formatter?: IFormatter;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/base/rich-text-editor.d.ts
export interface ChangeEventArgs {
    /**
     * Returns value of RichTextEditor
     */
    value: string;
    /** Defines the event name. */
    name?: string;
}
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;
}
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;
}
export interface ToolbarUpdateEventArgs {
    /**
     * Specify the name of the event.
     */
    name?: string;
    /**
     * Specify the name of the event.
     */
    redo: boolean;
    /**
     * Specify the name of the event.
     */
    undo: boolean;
}
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;
}
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;
}
export interface ResponseEventArgs {
    headers?: string;
    readyState?: object;
    statusCode?: object;
    statusText?: string;
    withCredentials?: boolean;
}
export interface DestroyedEventArgs {
    /**
     * Specify the name of the event.
     */
    name?: string;
    /**
     * Defines whether the current action can be prevented.
     */
    cancel: boolean;
}
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;
}
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;
}
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;
}
/**
 * Represents the RichTextEditor 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 touchModule;
    private defaultResetValue;
    /**
     * @hidden
     */
    isFocusOut: boolean;
    /**
     * @hidden
     */
    inputElement: HTMLElement;
    /**
     * @hidden
     */
    isRTE: boolean;
    /**
     * @hidden
     */
    isBlur: boolean;
    /**
     * @hidden
     */
    renderModule: Render;
    /**
     * @hidden
     */
    contentModule: IRenderer;
    /**
     * @hidden
     */
    serviceLocator: ServiceLocator;
    /**
     * The `toolbarModule` is used to manipulate ToolBar items and its action in the RichTextEditor.
     * @hidden
     */
    toolbarModule: Toolbar;
    /**
     * @hidden
     */
    imageModule: Image;
    /**
     * @hidden
     */
    tableModule: Table;
    /**
     * @hidden
     */
    fullScreenModule: FullScreen;
    /**
     * @hidden
     */
    resizeModule: Resize;
    /**
     * @hidden
     */
    pasteCleanupModule: PasteCleanup;
    /**
     * @hidden
     */
    sourceCodeModule: ViewSource;
    /**
     * @hidden
     */
    linkModule: Link;
    /**
     * @hidden
     */
    markdownEditorModule: MarkdownEditor;
    /**
     * @hidden
     */
    htmlEditorModule: HtmlEditor;
    /**
     * @hidden
     */
    quickToolbarModule: QuickToolbar;
    /**
     * @hidden
     */
    countModule: Count;
    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 RichTextEditor 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 RichTextEditor 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.
     * @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'.
     * @default
     * {
     *  enable: true,
     *  actionOnScroll: 'hide',
     *  link: ['Open', 'Edit', 'UnLink'],
     *  image: ['Replace', 'Align', 'Caption', 'Remove', '-', 'InsertLink', 'Display', 'AltText', 'Dimension'],
     *  text: ['Cut', 'Copy', 'Paste']
     * }
     */
    quickToolbarSettings: QuickToolbarSettingsModel;
    /**
     * Specifies the pasting options in RichTextEditor 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.
     * @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', '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
     * @default
     * {
     *  enable: false,
     *  attributes: null,
     *  resources: { styles: [], scripts: [] }
     * }
     */
    iframeSettings: IFrameSettingsModel;
    /**
     * Specifies the image insert options in RichTextEditor 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 RichTextEditor (Base64 or Blob).
     * * height - Sets the default height of the image when it is inserted in the RichTextEditor.
     * * saveUrl - Provides URL to map the action result method to save the image.
     * * path - Specifies the location to store the image.
     * @default
     * {
     *  allowedTypes: ['.jpeg', '.jpg', '.png'],
     *  display: 'inline',
     *  width: 'auto',
     *  height: 'auto',
     *  saveFormat: 'Blob'
     *  saveUrl: null,
     *  path: null,
     * }
     */
    insertImageSettings: ImageSettingsModel;
    /**
     * Specifies the table insert options in RichTextEditor 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.
     * @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 RichTextEditor 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.
     * @default
     * {
     *  enable: false,
     *  onSelection: true
     * }
     */
    inlineMode: InlineModeModel;
    /**
     * 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 RichTextEditor is persisted
     * @default false.
     */
    enablePersistence: boolean;
    /**
     * Enables or disables the resizing option in the editor.
     * If enabled, the RichTextEditor can be resized by dragging the resize icon in the bottom right corner.
     * @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 RichTextEditor body is empty.
     * @default null.
     */
    placeholder: string;
    /**
     * 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.
     * @default true.
     */
    enabled: boolean;
    /**
     * specifies the value whether the source code is displayed with encoded format.
     * @default false.
     */
    enableHtmlEncode: boolean;
    /**
     * Specifies the height of the RichTextEditor 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 RichTextEditor can be loaded with dynamic data such as database, AJAX content, and more.
     * @default null
     */
    value: string;
    /**
     * Specifies the count of undo history which is stored in undoRedoManager.
     * @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 RichTextEditor as HTML editor using &lt;
IFRAME&gt;
 element or content editable &lt;
div&gt;
 element
     *     or &lt;
textarea&gt;
 element.
     *
     *   - `Markdown` - Render RichTextEditor 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.
     * @default null
     */
    keyConfig: {
        [key: string]: string;
    };
    /**
     * Sets Boolean value to enable or disable the display of the character counter.
     * @default false
     */
    showCharCount: boolean;
    /**
     * Allows the tab key action in the RichTextEditor content.
     * @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.
     * @default false
     */
    enableAutoUrl: boolean;
    /**
     * Specifies the maximum number of characters allowed in the RichTextEditor component.
     * @default -1
     */
    maxLength: number;
    /**
     * Predefine the collection of paragraph styles along with quote and code style that populate in format dropdown from the toolbar.
     * @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 font families that populate in font family dropdown list from the toolbar.
     * @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.
     * @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 .
     * @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.
     * @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
     * @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.
     * @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
     * @blazorProperty 'OnActionBegin'
     */
    actionBegin: base.EmitType<ActionBeginEventArgs>;
    /**
     * Triggers after command execution using toolbar items or executeCommand method.
     * @event
     * @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
     * @blazorProperty 'OnDialogOpen'
     * @blazorType Syncfusion.EJ2.Blazor.Popups.popups.BeforeOpenEventArgs
     */
    beforeDialogOpen: base.EmitType<popups.BeforeOpenEventArgs>;
    /**
     * Event triggers when a dialog is opened.
     * @event
     * @blazorProperty 'DialogOpened'
     * @blazorType DialogOpenEventArgs
     */
    dialogOpen: base.EmitType<Object>;
    /**
     * Event triggers after the dialog has been closed.
     * @event
     * @blazorProperty 'DialogClosed'
     * @blazorType DialogCloseEventArgs
     */
    dialogClose: base.EmitType<Object>;
    /**
     * Event triggers when the quick toolbar is being opened.
     * @event
     * @blazorProperty 'OnQuickToolbarOpen'
     */
    beforeQuickToolbarOpen: base.EmitType<BeforeQuickToolbarOpenArgs>;
    /**
     * Event triggers when a quick toolbar is opened.
     * @event
     * @blazorProperty 'QuickToolbarOpened'
     * @blazorType QuickToolbarEventArgs
     */
    quickToolbarOpen: base.EmitType<Object>;
    /**
     * Event triggers after the quick toolbar has been closed.
     * @event
     * @blazorProperty 'QuickToolbarClosed'
     * @blazorType QuickToolbarEventArgs
     */
    quickToolbarClose: base.EmitType<Object>;
    /**
     * Triggers when the undo and redo status is updated.
     * @event
     * @blazorType ToolbarUpdateEventArgs
     */
    private toolbarStatusUpdate;
    /**
     * Event triggers when the image is selected or dragged into the insert image dialog.
     * @event
     * @blazorProperty 'OnImageSelected'
     */
    imageSelected: base.EmitType<inputs.SelectedEventArgs>;
    /**
     * Event triggers when the selected image begins to upload in the insert image dialog.
     * @event
     * @blazorProperty 'OnImageUploading'
     */
    imageUploading: base.EmitType<inputs.UploadingEventArgs>;
    /**
     * Event triggers when the image is successfully uploaded to the server side.
     * @event
     * @blazorProperty 'OnImageUploadSuccess'
     * @blazorType ImageSuccessEventArgs
     */
    imageUploadSuccess: base.EmitType<Object>;
    /**
     * Event triggers when there is an error in the image upload.
     * @event
     * @blazorProperty 'OnImageUploadFailed'
     * @blazorType ImageFailedEventArgs
     */
    imageUploadFailed: base.EmitType<Object>;
    /**
     * Event triggers when the selected image is cleared from the insert image dialog.
     * @event
     * @blazorProperty 'OnImageRemoving'
     */
    imageRemoving: base.EmitType<inputs.RemovingEventArgs>;
    /**
     * Triggers when the RichTextEditor is rendered.
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the RichTextEditor is destroyed.
     * @event
     * @blazorProperty 'Destroyed'
     * @blazorType DestroyedEventArgs
     */
    destroyed: base.EmitType<Object>;
    /**
     * Event triggers before sanitize the value. It's only applicable to editorMode as `HTML`.
     * @event
     * @blazorProperty 'OnSanitizeHtml'
     */
    beforeSanitizeHtml: base.EmitType<BeforeSanitizeHtmlArgs>;
    /**
     * Triggers when RichTextEditor is focused out.
     * @event
     * @blazorType BlurEventArgs
     */
    blur: base.EmitType<Object>;
    /**
     * Triggers when RichTextEditor Toolbar items is clicked.
     * @event
     * @blazorProperty 'OnToolbarClick'
     * @blazorType ToolbarClickEventArgs
     */
    toolbarClick: base.EmitType<Object>;
    /**
     * Triggers when RichTextEditor is focused in
     * @event
     * @blazorType FocusEventArgs
     */
    focus: base.EmitType<Object>;
    /**
     * Triggers only when RichTextEditor is blurred and changes are done to the content.
     * @event
     * @blazorProperty 'ValueChange'
     */
    change: base.EmitType<ChangeEventArgs>;
    /**
     * Triggers only when resizing the image.
     * @event
     * @blazorProperty 'Resizing'
     */
    resizing: base.EmitType<ResizeArgs>;
    /**
     * Triggers only when start resize the image.
     * @event
     * @blazorProperty 'OnResizeStart'
     */
    resizeStart: base.EmitType<ResizeArgs>;
    /**
     * Triggers only when stop resize the image.
     * @event
     * @blazorProperty 'OnResizeStop'
     */
    resizeStop: base.EmitType<ResizeArgs>;
    /**
     * Customize keyCode to change the key value.
     * @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
     * @return {base.ModuleDeclaration[]}
     * @hidden
     */
    requiredModules(): base.ModuleDeclaration[];
    private updateEnable;
    setEnable(): void;
    /**
     * For internal use only - Initialize the event handler;
     * @private
     */
    protected preRender(): void;
    private persistData;
    private setContainer;
    getPersistData(): string;
    /**
     * Focuses the RichTextEditor component
     * @public
     */
    focusIn(): void;
    /**
     * Blurs the RichTextEditor component
     * @public
     */
    focusOut(): void;
    /**
     * Selects all the content in RichTextEditor
     * @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.
     * @public
     */
    selectRange(range: Range): void;
    /**
     * Retrieves the HTML markup content from currently selected content of RichTextEditor.
     * @public
     */
    getSelection(): string;
    /**
     * Executes the commands
     * @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.
     * @public
     */
    executeCommand(commandName: CommandName, value?: string | HTMLElement | ILinkCommandsArgs | IImageCommandsArgs): void;
    private htmlPurifier;
    private encode;
    /**
     * For internal use only - To Initialize the component rendering.
     * @private
     */
    protected render(): void;
    /**
     * For internal use only - Initialize the event handler
     * @private
     */
    protected eventInitializer(): void;
    /**
     * For internal use only - keydown the event handler;
     * @private
     */
    keyDown(e: KeyboardEvent): void;
    private keyUp;
    /**
     * @hidden
     */
    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.
     * @return {string}
     */
    sanitizeHtml(value: string): string;
    updateValue(value?: string): void;
    private triggerEditArea;
    private notifyMouseUp;
    private mouseUp;
    /**
     * @hidden
     */
    ensureModuleInjected(module: Function): boolean;
    /**
     * @hidden
     */
    onCopy(): void;
    /**
     * @hidden
     */
    onCut(): void;
    /**
     * @hidden
     */
    onPaste(e?: KeyboardEvent | ClipboardEvent): void;
    /**
     * @hidden
     */
    clipboardAction(action: string, event: MouseEvent | KeyboardEvent): void;
    /**
     * Destroys the component (detaches/removes all event handlers, attributes, classes, and empties the component element).
     * @method destroy
     * @return {void}
     */
    destroy(): void;
    private removeHtmlAttributes;
    private removeAttributes;
    private destroyDependentModules;
    /**
     * Returns the HTML or Text inside the RichTextEditor.
     * @return {Element}
     */
    getContent(): Element;
    /**
     * Returns the text content as string.
     * @return {string}
     */
    getText(): string;
    /**
     * For internal use only - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * Called internally if any of the property value changed.
     * @hidden
     */
    onPropertyChanged(newProp: RichTextEditorModel, oldProp: RichTextEditorModel): void;
    /**
     * @hidden
     */
    updateValueData(): void;
    private removeSheets;
    private updatePanelValue;
    private setHeight;
    setPlaceHolder(): void;
    private setWidth;
    private setCssClass;
    private updateRTL;
    private updateReadOnly;
    setReadOnly(initial?: boolean): void;
    /**
     * By default, prints all the pages of the RichTextEditor.
     * @return {void}
     */
    print(): void;
    /**
     * Refresh the view of the editor.
     * @public
     */
    refreshUI(): void;
    /**
     * Shows the RichTextEditor component in full-screen mode.
     */
    showFullScreen(): void;
    /**
     * Enables the give toolbar items in the RichTextEditor component.
     * @param {boolean} muteToolbarUpdate enable/disables the toolbar item status in RichTextEditor.
     * @param {string | string[]} items - Specifies the single or collection of items
     * 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 RichTextEditor component.
     * @param {boolean} muteToolbarUpdate enable/disables the toolbar item status in RichTextEditor.
     * @param {string | string[]} items - Specifies the single or collection of items
     * 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 RichTextEditor component.
     * @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.
     * @public
     * @deprecated
     */
    getRange(): Range;
    private initializeServices;
    private RTERender;
    private setIframeSettings;
    private InjectSheet;
    private createScriptElement;
    private createStyleElement;
    private isBlazor;
    private setValue;
    setContentHeight(target?: string, isExpand?: boolean): void;
    /**
     * Retrieves the HTML from RichTextEditor.
     * @public
     */
    getHtml(): string;
    /**
     * Shows the source HTML/MD markup.
     * @public
     */
    showSourceCode(): void;
    /**
     * Returns the maximum number of characters in the Rich Text Editor.
     * @public
     */
    getCharCount(): number;
    /**
     * @hidden
     */
    getBaseToolbarObject(): BaseToolbar;
    /**
     * @hidden
     */
    getToolbar(): HTMLElement;
    /**
     * @hidden
     */
    getToolbarElement(): Element;
    getID(): string;
    private mouseDownHandler;
    private preventImgResize;
    preventDefaultResize(e: FocusEvent | MouseEvent): void;
    private defaultResize;
    private resizeHandler;
    private scrollHandler;
    private contentScrollHandler;
    private focusHandler;
    private getUpdatedValue;
    private updateIntervalValue;
    private onDocumentClick;
    private blurHandler;
    invokeChangeEvent(): void;
    /**
     * @hidden
     */
    wireScrollElementsEvents(): void;
    private wireContextEvent;
    private unWireContextEvent;
    /**
     * @hidden
     */
    unWireScrollElementsEvents(): void;
    private touchHandler;
    private contextHandler;
    private resetHandler;
    /**
     * @hidden
     */
    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
export  function getIndex(val: string, items: (string | IToolbarItems)[]): number;
export  function hasClass(element: Element | HTMLElement, className: string): boolean;
export  function getDropDownValue(items: IDropDownItemModel[], value: string, type: string, returnType: string): string;
export  function isIDevice(): boolean;
export  function getFormattedFontSize(value: string): string;
export  function pageYOffset(e: MouseEvent | Touch, parentElement: HTMLElement, isIFrame: boolean): number;
export  function getTooltipText(item: string, serviceLocator: ServiceLocator): string;
export  function setToolbarStatus(e: ISetToolbarStatusArgs, isPopToolbar: boolean): void;
export  function getCollection(items: string | string[]): string[];
export  function getTBarItemsIndex(items: string[], toolbarItems: IToolbarItemModel[]): number[];
export  function updateUndoRedoStatus(baseToolbar: BaseToolbar, undoRedoStatus: {
    [key: string]: boolean;
}): void;
/**
 * To dispatch the event manually
 * @hidden
 */
export  function dispatchEvent(element: Element | HTMLDocument, type: string): void;
export  function parseHtml(value: string): DocumentFragment;
export  function getTextNodesUnder(docElement: Document, node: Element): Node[];
export  function toObjectLowerCase(obj: {
    [key: string]: IToolsItemConfigs;
}): {
    [key: string]: IToolsItemConfigs;
};
export  function getEditValue(value: string, rteObj: IRichTextEditor): string;
export  function updateTextNode(value: string): string;
export  function isEditableValueEmpty(value: string): boolean;
export  function decode(value: string): string;
//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
 */
export  class Formatter {
    editorManager: IEditorModel;
    /**
     * To execute the command
     * @param  {IRichTextEditor} self
     * @param  {ActionBeginEventArgs} args
     * @param  {MouseEvent|KeyboardEvent} event
     * @param  {IItemCollectionArgs} value
     */
    process(self: IRichTextEditor, args: ActionBeginEventArgs, event: MouseEvent | KeyboardEvent, value: IItemCollectionArgs): void;
    private getAncestorNode;
    onKeyHandler(self: IRichTextEditor, e: KeyboardEvent): void;
    onSuccess(self: IRichTextEditor, events: IMarkdownFormatterCallBack | IHtmlFormatterCallBack): void;
    /**
     * Save the data for undo and redo action.
     */
    saveData(e?: KeyboardEvent | MouseEvent | IUndoCallBack): void;
    getUndoStatus(): {
        [key: string]: boolean;
    };
    getUndoRedoStack(): IHtmlUndoRedoData[] | MarkdownUndoRedoData[];
    enableUndo(self: IRichTextEditor): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/formatter/html-formatter.d.ts
/**
 * HTML adapter
 * @hidden
 */
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
     * @param  {Document} doc
     */
    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
 */
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
     * @param  {Document} doc
     */
    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
/**
 * RichTextEditor 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;
};
//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 imageDisplayItems: IDropDownItemModel[];
export  let tableRowsItems: IDropDownItemModel[];
export  let tableColumnsItems: IDropDownItemModel[];
export  let TableCellVerticalAlignItems: IDropDownItemModel[];
export  let TableStyleItems: IDropDownItemModel[];
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 RichTextEditor editing area.
     * @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 URL of save action that will receive the upload files and save in the server.
     * @default 'null'
     */
    path?: string;
    /**
     * To enable resizing for image element.
     * @default 'true'
     */
    resize?: boolean;
    /**
     * 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 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']
     */
    // tslint:disable
    image?: (string | IToolbarItems)[];
    /**
     * Specifies the items to render in quick toolbar, when text selected.
     * @default ['Cut', 'Copy', 'Paste']
     */
    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', '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;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/models/toolbar-settings.d.ts
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[];
};
/**
 * 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 RichTextEditor editing area.
     * @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 URL of save action that will receive the upload files and save in the server.
     * @default 'null'
     */
    path: string;
    /**
     * To enable resizing for image element.
     * @default 'true'
     */
    resize: boolean;
    /**
     * 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;
}
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 text selected.
     * @default ['Cut', 'Copy', 'Paste']
     */
    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', '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;
}
//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
/**
 * Models
 */
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/content-renderer.d.ts
/**
 * Content module is used to render RichTextEditor content
 * @hidden
 */
export  class ContentRender implements IRenderer {
    protected contentPanel: Element;
    protected parent: IRichTextEditor;
    protected editableElement: Element;
    private serviceLocator;
    /**
     * Constructor for content renderer module
     */
    constructor(parent?: IRichTextEditor, serviceLocator?: ServiceLocator);
    /**
     * The function is used to render RichTextEditor content div
     */
    renderPanel(): void;
    /**
     * Get the content div element of RichTextEditor
     * @return {Element}
     */
    getPanel(): Element;
    /**
     * Get the editable element of RichTextEditor
     * @return {Element}
     */
    getEditPanel(): Element;
    /**
     * Returns the text content as string.
     * @return {string}
     */
    getText(): string;
    /**
     * Set the content div element of RichTextEditor
     * @param {Element} panel
     */
    setPanel(panel: Element): void;
    /**
     * Get the document of RichTextEditor
     * @return {Document}
     */
    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);
    render(e: popups.DialogModel): popups.Dialog;
    private beforeOpen;
    private open;
    close(args: Object): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/iframe-content-renderer.d.ts
/**
 * Content module is used to render RichTextEditor content
 * @hidden
 */
export  class IframeContentRender extends ContentRender {
    /**
     * The function is used to render RichTextEditor iframe
     */
    renderPanel(): void;
    private setThemeColor;
    /**
     * Get the editable element of RichTextEditor
     * @return {Element}
     */
    getEditPanel(): Element;
    /**
     * Get the document of RichTextEditor
     * @param  {Document}
     */
    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 uploadUrl;
    private contentModule;
    private rendererFactory;
    private quickToolObj;
    private imgResizeDiv;
    private imgDupPos;
    private resizeBtnStat;
    private imgEle;
    private pageX;
    private pageY;
    private dialogRenderObj;
    constructor(parent?: IRichTextEditor, serviceLocator?: ServiceLocator);
    protected addEventListener(): void;
    protected removeEventListener(): void;
    private onIframeMouseDown;
    private afterRender;
    private undoStack;
    private resizeEnd;
    private resizeStart;
    private imageClick;
    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 alignmentSelect;
    private imageWithLinkQTBarItemUpdate;
    private showImageQuickToolbar;
    private hideImageQuickToolbar;
    private editAreaClickHandler;
    private insertImgLink;
    private insertAltText;
    private insertAlt;
    private insertlink;
    private isUrl;
    private deleteImg;
    private caption;
    private imageSize;
    private break;
    private inline;
    private justifyImageLeft;
    private justifyImageRight;
    private justifyImageCenter;
    private imagDialog;
    private cancelDialog;
    private onDocumentClick;
    private remvoeResizEle;
    private imageUrlPopup;
    private insertImageUrl;
    private imgsizeInput;
    private insertSize;
    private insertImage;
    private imgUpload;
    private fileSelect;
    private dragStart;
    private dragEnter;
    private dragOver;
    /**
     * USed to set range When drop an image
     */
    private dragDrop;
    /**
     * Used to calculate range on internet explorer
     */
    private getDropRange;
    private insertDragImage;
    private onSelect;
    /**
     * Rendering uploader and popup for drag and drop
     */
    private uploadMethod;
    private refreshPopup;
    /**
     * Called when drop image upload was failed
     */
    private uploadFailure;
    /**
     * Called when drop image upload was successful
     */
    private uploadSuccess;
    private imagePaste;
    private showPopupToolBar;
    private url;
    /**
     * Destroys the ToolBar.
     * @method destroy
     * @return {void}
     * @hidden
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     */
    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;
    constructor(parent?: IRichTextEditor, serviceLocator?: ServiceLocator);
    protected addEventListener(): void;
    private onToolbarAction;
    protected removeEventListener(): void;
    private onIframeMouseDown;
    private showLinkQuickToolbar;
    private hideLinkQuickToolbar;
    private editAreaClickHandler;
    private onKeyDown;
    private linkDialog;
    private insertlink;
    private isUrl;
    private checkUrl;
    private removeLink;
    private openLink;
    private getAnchorNode;
    private editLink;
    private cancelDialog;
    private onDocumentClick;
    /**
     * Destroys the ToolBar.
     * @method destroy
     * @return {void}
     * @hidden
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/markdown-renderer.d.ts
/**
 * Markdown module is used to render RichTextEditor as Markdown editor content
 * @hidden
 */
export  class MarkdownRender implements IRenderer {
    private contentPanel;
    protected parent: IRichTextEditor;
    protected editableElement: Element;
    /**
     * Constructor for content renderer module
     */
    constructor(parent?: IRichTextEditor);
    /**
     * The function is used to render RichTextEditor content div
     */
    renderPanel(): void;
    /**
     * Get the content div element of RichTextEditor
     * @return {Element}
     */
    getPanel(): Element;
    /**
     * Get the editable element of RichTextEditor
     * @return {Element}
     */
    getEditPanel(): Element;
    /**
     * Returns the text content as string.
     * @return {string}
     */
    getText(): string;
    /**
     * Set the content div element of RichTextEditor
     * @param  {Element} panel
     */
    setPanel(panel: Element): void;
    /**
     * Get the document of RichTextEditor
     * @param  {Document}
     */
    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
 */
export  class PopupRenderer implements IRenderer {
    private popupObj;
    private popupPanel;
    protected parent: IRichTextEditor;
    /**
     * Constructor for popup renderer module
     */
    constructor(parent?: IRichTextEditor);
    private quickToolbarOpen;
    renderPopup(args: BaseQuickToolbar): void;
    /**
     * The function is used to add popup class in Quick Toolbar
     */
    renderPanel(): void;
    /**
     * Get the popup element of RichTextEditor
     * @return {Element}
     */
    getPanel(): Element;
    /**
     * Set the popup element of RichTextEditor
     * @param  {Element} panel
     */
    setPanel(panel: Element): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/render.d.ts
/**
 * Content module is used to render RichTextEditor content
 * @hidden
 */
export  class Render {
    private parent;
    private locator;
    private contentRenderer;
    private renderer;
    /**
     * Constructor for render module
     */
    constructor(parent?: IRichTextEditor, locator?: ServiceLocator);
    /**
     * To initialize RichTextEditor header, content and footer rendering
     */
    render(): void;
    /**
     * Refresh the entire RichTextEditor.
     * @return {void}
     */
    refresh(e?: NotifyArgs): void;
    /**
     * Destroy the entire RichTextEditor.
     * @return {void}
     */
    destroy(): void;
    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 contentModule;
    private rendererFactory;
    private quickToolObj;
    private resizeBtnStat;
    private pageX;
    private pageY;
    private curTable;
    private colIndex;
    private columnEle;
    private rowTextBox;
    private columnTextBox;
    private rowEle;
    private l10n;
    private moveEle;
    private helper;
    private dialogRenderObj;
    constructor(parent?: IRichTextEditor, serviceLocator?: ServiceLocator);
    protected addEventListener(): void;
    protected removeEventListener(): void;
    private afterRender;
    private dropdownSelect;
    private keyDown;
    private onToolbarAction;
    private verticalAlign;
    private tableStyles;
    private insideList;
    private tabSelection;
    private tableArrowNavigation;
    private setBGColor;
    private hideTableQuickToolbar;
    private tableHeader;
    private editAreaClickHandler;
    private tableCellSelect;
    private tableCellLeave;
    private tableCellClick;
    private tableInsert;
    private cellSelect;
    private resizeHelper;
    private tableResizeEleCreation;
    private removeResizeEle;
    private calcPos;
    private getPointX;
    private getPointY;
    private resizeStart;
    private removeHelper;
    private appendHelper;
    private setHelperHeight;
    private updateHelper;
    private resizing;
    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 createDialog;
    private customTable;
    private cancelDialog;
    private applyProperties;
    private tableDlgContent;
    /**
     * Destroys the ToolBar.
     * @method destroy
     * @return {void}
     * @hidden
     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     */
    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
 */
export  class ToolbarRenderer implements IRenderer {
    private mode;
    private toolbarPanel;
    protected parent: IRichTextEditor;
    private currentElement;
    private currentDropdown;
    private popupOverlay;
    private colorPicker;
    /**
     * Constructor for toolbar renderer module
     */
    constructor(parent?: IRichTextEditor);
    private wireEvent;
    private unWireEvent;
    private toolbarBeforeCreate;
    private toolbarCreated;
    private toolbarClicked;
    private dropDownSelected;
    private beforeDropDownItemRender;
    private dropDownOpen;
    private dropDownClose;
    renderToolbar(args: IToolbarOptions): void;
    renderDropDownButton(args: IDropDownModel): splitbuttons.DropDownButton;
    private onPopupOverlay;
    private setIsModel;
    private paletteSelection;
    renderColorPickerDropDown(args: IColorPickerModel, item: string, colorPicker: inputs.ColorPicker): splitbuttons.DropDownButton;
    private pickerRefresh;
    private popupModal;
    private setColorPickerContentWidth;
    renderColorPicker(args: IColorPickerModel, item: string): inputs.ColorPicker;
    /**
     * The function is used to render RichTextEditor toolbar
     */
    renderPanel(): void;
    /**
     * Get the toolbar element of RichTextEditor
     * @return {Element}
     */
    getPanel(): Element;
    /**
     * Set the toolbar element of RichTextEditor
     * @param  {Element} panel
     */
    setPanel(panel: Element): void;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/renderer/view-source.d.ts
/**
 * Content module is used to render RichTextEditor content
 * @hidden
 */
export  class ViewSource {
    private parent;
    private contentModule;
    private rendererFactory;
    private keyboardModule;
    private previewElement;
    /**
     * Constructor for view source module
     */
    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(args?: navigations.ClickEventArgs | IHtmlKeyboardEvent): void;
    updateSourceCode(args?: navigations.ClickEventArgs | base.KeyboardEventArgs): void;
    private getTextAreaValue;
    getPanel(): HTMLTextAreaElement | Element;
    getViewPanel(): HTMLTextAreaElement | Element;
    /**
     * Destroy the entire RichTextEditor.
     * @return {void}
     */
    destroy(): void;
}
//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
 */
export  class RendererFactory {
    rendererMap: {
        [c: string]: IRenderer;
    };
    addRenderer(name: RenderType, type: IRenderer): void;
    getRenderer(name: RenderType): IRenderer;
}
//node_modules/@syncfusion/ej2-richtexteditor/src/rich-text-editor/services/service-locator.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-richtexteditor/src/rich-text-editor/toolbar.d.ts
/**
 * Actions
 */
//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(docElement: Document): Selection;
    save(range: Range, docElement: Document): NodeSelection;
    getIndex(node: Node): number;
    private isChildNode;
    private getNode;
    getNodeCollection(range: Range): Node[];
    getParentNodeCollection(range: Range): Node[];
    getParentNodes(nodeCollection: Node[], range: Range): Node[];
    getSelectionNodeCollection(range: Range): Node[];
    getSelectionNodes(nodeCollection: Node[]): Node[];
    getInsertNodeCollection(range: Range): Node[];
    getInsertNodes(nodeCollection: Node[]): Node[];
    getNodeArray(node: Node, isStart: boolean, root?: Document): number[];
    private setRangePoint;
    restore(): Range;
    selectRange(docElement: Document, range: Range): void;
    setRange(docElement: Document, range: Range): void;
    setSelectionText(docElement: Document, startNode: Node, endNode: Node, startIndex: number, endIndex: number): void;
    setSelectionContents(docElement: Document, element: Node): void;
    setSelectionNode(docElement: Document, element: Node): void;
    getSelectedNodes(docElement: Document): Node[];
    Clear(docElement: Document): void;
    insertParentNode(docElement: Document, newNode: Node, range: Range): void;
    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';
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;
}
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;
}
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
 */
export  function generateSummary(rule: string, localeObject: base.L10n, locale: string, calendarType?: CalendarType): string;
export  function generate(startDate: Date, rule: string, excludeDate: string, startDayOfWeek: number, maximumCount?: number, viewDate?: Date, calendarMode?: CalendarType, oldTimezone?: string, newTimezone?: string): number[];
export  function getDateFromRecurrenceDateString(recDateString: string): Date;
export  function extractObjectFromRule(rules: String): RecRule;
export  function getCalendarUtil(calendarMode: CalendarType): CalendarUtil;
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;
}
export  type FreqType = 'DAILY' | 'WEEKLY' | 'MONTHLY' | 'YEARLY';
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
     * @blazorDefaultValue 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, 1, 1)
     * @aspDefaultValue new DateTime(1900, 1, 1)
     * @blazorDefaultValue new DateTime(1900, 1, 1)
     */
    minDate?: Date;
    /**
     * Sets the maximum date on recurrence editor.
     * @default new Date(2099, 12, 31)
     * @aspDefaultValue new DateTime(2099, 12, 31)
     * @blazorDefaultValue new DateTime(2099, 12, 31)
     */
    maxDate?: Date;
    /**
     * Sets the current repeat type to be set on the recurrence editor.
     * @default 0
     */
    selectedType?: Number;
    /**
     * Triggers for value changes on every sub-controls rendered within the recurrence editor.
     * @event
     * @blazorproperty 'OnChange'
     */
    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
     * @blazorDefaultValue 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, 1, 1)
     * @aspDefaultValue new DateTime(1900, 1, 1)
     * @blazorDefaultValue new DateTime(1900, 1, 1)
     */
    minDate: Date;
    /**
     * Sets the maximum date on recurrence editor.
     * @default new Date(2099, 12, 31)
     * @aspDefaultValue new DateTime(2099, 12, 31)
     * @blazorDefaultValue new DateTime(2099, 12, 31)
     */
    maxDate: Date;
    /**
     * Sets the current repeat type to be set on the recurrence editor.
     * @default 0
     */
    selectedType: Number;
    /**
     * Triggers for value changes on every sub-controls rendered within the recurrence editor.
     * @event
     * @blazorproperty 'OnChange'
     */
    change: base.EmitType<RecurrenceEditorChangeEventArgs>;
    /**
     * Constructor for creating the widget
     * @param  {object} options?
     */
    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 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;
    getCalendarMode(): string;
    getRuleSummary(rule?: string): string;
    getRecurrenceDates(startDate: Date, rule: string, excludeDate?: string, maximumCount?: number, viewDate?: Date): number[];
    getRecurrenceRule(): string;
    setRecurrenceRule(rule: string, startDate?: Date): void;
    /**
     * Destroys the widget.
     * @returns void
     */
    destroy(): void;
    /**
     * Get component name.
     * @returns string
     * @private
     */
    getModuleName(): string;
    /**
     * Get the properties to be maintained in the persisted state.
     * @returns string
     */
    getPersistData(): string;
    /**
     * Initialize the control rendering
     * @returns void
     * @private
     */
    render(): void;
    /**
     * Called internally, if any of the property value changed.
     * @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;
    daysVariation: number;
    constructor(parent: Schedule);
    getChangedData(): {
        [key: string]: Object;
    };
    saveChangedData(eventArgs: DragEventArgs | ResizeEventArgs): void;
    calculateIntervalTime(date: Date): Date;
    getContentAreaDimension(): {
        [key: string]: Object;
    };
    getPageCoordinates(e: MouseEvent & TouchEvent): (MouseEvent & TouchEvent) | Touch;
    getIndex(index: number): number;
    updateTimePosition(date: Date): 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(e: MouseEvent & TouchEvent): boolean;
    actionClass(type: string): void;
    updateScrollPosition(e: MouseEvent & TouchEvent): void;
    updateOriginalElement(cloneElement: HTMLElement): void;
    getUpdatedEvent(startTime: Date, endTime: Date, eventObj: {
        [key: string]: Object;
    }): {
        [key: string]: Object;
    };
    dynamicEventsRendering(event: {
        [key: string]: Object;
    }): void;
    /**
     * To destroy the action base module.
     * @return {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/actions/crud.d.ts
/**
 * Schedule CRUD operations
 */
export  class Crud {
    private parent;
    private dataManager;
    constructor(parent: Schedule);
    private getQuery;
    private getTable;
    private refreshData;
    addEvent(eventData: Object | Object[]): void;
    saveEvent(eventData: {
        [key: string]: Object;
    } | {
        [key: string]: Object;
    }[], action: CurrentAction): void;
    deleteEvent(eventData: string | number | Object | Object[], action: CurrentAction): void;
    private processOccurrences;
    private processFollowSeries;
    private processEntireSeries;
    private processEventDelete;
    private getParentEvent;
    private excludeDateCheck;
    private processRecurrenceRule;
    private getUpdatedRecurrenceRule;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/actions/data.d.ts
/**
 * data module is used to generate query and data source.
 * @hidden
 */
export  class Data {
    dataManager: data.DataManager;
    private query;
    /**
     * Constructor for data module
     * @private
     */
    constructor(dataSource?: Object | data.DataManager, query?: data.Query);
    /**
     * The function used to initialize dataManager and query
     * @return {void}
     * @private
     */
    initDataManager(dataSource: Object | data.DataManager, query: data.Query): void;
    /**
     * The function used to generate updated data.Query from schedule model
     * @return {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
     * @return {void}
     * @private
     */
    getData(query: data.Query): Promise<Object>;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/actions/drag.d.ts
/**
 * Schedule events drag actions
 */
export  class DragAndDrop extends ActionBase {
    private widthUptoCursorPoint;
    private timelineEventModule;
    private cursorPointIndex;
    private isHeaderRows;
    private isTimelineDayProcess;
    private widthPerMinute;
    private minDiff;
    private isStepDragging;
    private isMorePopupOpened;
    private isAllDayDrag;
    wireDragEvent(element: HTMLElement, isAllDay: boolean): void;
    private dragHelper;
    private dragPosition;
    private setDragActionDefaultValues;
    private dragStart;
    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 updateAllDayEvents;
    private swapDragging;
    private calculateVerticalDate;
    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.
     */
    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 addEventListener;
    private removeEventListener;
    private onCellMouseDown;
    onMouseSelection(e: MouseEvent): void;
    private getClosestCell;
    private onMoveup;
    private processEnter;
    private getCells;
    private focusFirstCell;
    private isInverseTableSelect;
    /** @hidden */
    selectCells(isMultiple: boolean, targetCell: HTMLTableCellElement): void;
    private selectAppointment;
    private selectAppointmentElementFromWorkCell;
    private getAllDayCells;
    private getAppointmentElements;
    private getAppointmentElementsByGuid;
    private getUniqueAppointmentElements;
    private getWorkCellFromAppointmentElement;
    private processViewNavigation;
    private processUp;
    private processDown;
    private processLeftRight;
    private getQuickPopupElement;
    private isCancelLeftRightAction;
    private processRight;
    private processLeft;
    private calculateNextPrevDate;
    private getFocusableElements;
    private processTabOnPopup;
    private processTab;
    private processDelete;
    private processEscape;
    private isPreventAction;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the keyboard module.
     * @return {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 resizeStop;
    private verticalResizing;
    private horizontalResizing;
    private getTopBottomStyles;
    private getLeftRightStyles;
    private resizeValidation;
    /**
     * Get 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.
     * @hidden
     */
    constructor(parent?: Schedule);
    /**
     * For internal use only - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * @hidden
     */
    setWidth(): void;
    /**
     * @hidden
     */
    setHeight(): void;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    /**
     * @hidden
     */
    private setDimensions;
    /**
     * @hidden
     */
    private onPropertyChanged;
    /**
     * @hidden
     */
    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;
    /**
     * @hidden
     */
    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;
    private bufferCount;
    private renderedLength;
    private averageRowHeight;
    constructor(parent: Schedule);
    private addEventListener;
    private removeEventListener;
    getRenderedCount(): number;
    renderVirtualTrack(contentWrap: Element): void;
    updateVirtualScrollHeight(): void;
    updateVirtualTrackHeight(wrap: HTMLElement): void;
    setItemSize(): void;
    private virtualScrolling;
    private upScroll;
    private downScroll;
    updateContent(resWrap: HTMLElement, conWrap: HTMLElement, eventWrap: HTMLElement, resCollection: TdData[]): void;
    private getBufferCollection;
    private setTranslate;
    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;
    onHover(e: MouseEvent): void;
    private isPreventAction;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/base/constant.d.ts
/**
 * Constants
 */
/** @hidden */
export  const cellClick: string;
/** @hidden */
export  const cellDoubleClick: string;
/** @hidden */
export  const select: string;
/** @hidden */
export  const hover: string;
/** @hidden */
export  const actionBegin: string;
/** @hidden */
export  const actionComplete: string;
/** @hidden */
export  const actionFailure: string;
/** @hidden */
export  const navigating: string;
/** @hidden */
export  const renderCell: string;
/** @hidden */
export  const eventClick: string;
/** @hidden */
export  const eventRendered: string;
/** @hidden */
export  const dataBinding: string;
/** @hidden */
export  const dataBound: string;
/** @hidden */
export  const popupOpen: string;
/** @hidden */
export  const popupClose: string;
/** @hidden */
export  const dragStart: string;
/** @hidden */
export  const drag: string;
/** @hidden */
export  const dragStop: string;
/** @hidden */
export  const resizeStart: string;
/** @hidden */
export  const resizing: string;
/** @hidden */
export  const resizeStop: string;
/**
 * Specifies schedule internal events
 */
/** @hidden */
export  const initialLoad: string;
/** @hidden */
export  const initialEnd: string;
/** @hidden */
export  const dataReady: string;
/** @hidden */
export  const eventsLoaded: string;
/** @hidden */
export  const contentReady: string;
/** @hidden */
export  const scroll: string;
/** @hidden */
export  const virtualScroll: string;
/** @hidden */
export  const scrollUiUpdate: string;
/** @hidden */
export  const uiUpdate: string;
/** @hidden */
export  const documentClick: string;
/** @hidden */
export  const cellMouseDown: string;
//node_modules/@syncfusion/ej2-schedule/src/schedule/base/css-constant.d.ts
/**
 * CSS Constants
 */
/** @hidden */
export  const ROOT: string;
/** @hidden */
export  const RTL: string;
/** @hidden */
export  const DEVICE_CLASS: string;
/** @hidden */
export  const ICON: string;
/** @hidden */
export  const ENABLE_CLASS: string;
/** @hidden */
export  const DISABLE_CLASS: string;
/** @hidden */
export  const TABLE_CONTAINER_CLASS: string;
/** @hidden */
export  const SCHEDULE_TABLE_CLASS: string;
/** @hidden */
export  const ALLDAY_CELLS_CLASS: string;
/** @hidden */
export  const HEADER_POPUP_CLASS: string;
/** @hidden */
export  const HEADER_CALENDAR_CLASS: string;
/** @hidden */
export  const ALLDAY_ROW_CLASS: string;
/** @hidden */
export  const CONTENT_TABLE_CLASS: string;
/** @hidden */
export  const WORK_CELLS_CLASS: string;
/** @hidden */
export  const WORK_HOURS_CLASS: string;
/** @hidden */
export  const POPUP_OPEN: string;
/** @hidden */
export  const DATE_HEADER_WRAP_CLASS: string;
/** @hidden */
export  const DATE_HEADER_CONTAINER_CLASS: string;
/** @hidden */
export  const HEADER_CELLS_CLASS: string;
/** @hidden */
export  const WORKDAY_CLASS: string;
/** @hidden */
export  const OTHERMONTH_CLASS: string;
/** @hidden */
export  const CURRENT_DAY_CLASS: string;
/** @hidden */
export  const CURRENTDATE_CLASS: string;
/** @hidden */
export  const CURRENT_PANEL_CLASS: string;
/** @hidden */
export  const PREVIOUS_PANEL_CLASS: string;
/** @hidden */
export  const NEXT_PANEL_CLASS: string;
/** @hidden */
export  const TRANSLATE_CLASS: string;
/** @hidden */
export  const LEFT_INDENT_CLASS: string;
/** @hidden */
export  const LEFT_INDENT_WRAP_CLASS: string;
/** @hidden */
export  const EVENT_TABLE_CLASS: string;
/** @hidden */
export  const RESOURCE_LEFT_TD_CLASS: string;
/** @hidden */
export  const RESOURCE_GROUP_CELLS_CLASS: string;
/** @hidden */
export  const RESOURCE_TEXT_CLASS: string;
/** @hidden */
export  const RESOURCE_COLUMN_WRAP_CLASS: string;
/** @hidden */
export  const RESOURCE_COLUMN_TABLE_CLASS: string;
/** @hidden */
export  const RESOURCE_CHILD_CLASS: string;
/** @hidden */
export  const RESOURCE_PARENT_CLASS: string;
/** @hidden */
export  const RESOURCE_EXPAND_CLASS: string;
/** @hidden */
export  const RESOURCE_COLLAPSE_CLASS: string;
/** @hidden */
export  const RESOURCE_TREE_ICON_CLASS: string;
/** @hidden */
export  const RESOURCE_CELLS_CLASS: string;
/** @hidden */
export  const TIME_CELLS_WRAP_CLASS: string;
/** @hidden */
export  const TIME_CELLS_CLASS: string;
/** @hidden */
export  const TIME_SLOT_CLASS: string;
/** @hidden */
export  const ALTERNATE_CELLS_CLASS: string;
/** @hidden */
export  const CURRENT_TIME_CLASS: string;
/** @hidden */
export  const CURRENT_TIMELINE_CLASS: string;
/** @hidden */
export  const PREVIOUS_TIMELINE_CLASS: string;
/** @hidden */
export  const HIDE_CHILDS_CLASS: string;
/** @hidden */
export  const SCROLL_CONTAINER_CLASS: string;
/** @hidden */
export  const WRAPPER_CLASS: string;
/** @hidden */
export  const TIMELINE_WRAPPER_CLASS: string;
/** @hidden */
export  const APPOINTMENT_WRAPPER_CLASS: string;
/** @hidden */
export  const DAY_WRAPPER_CLASS: string;
/** @hidden */
export  const TOOLBAR_CONTAINER: string;
/** @hidden */
export  const RESOURCE_TOOLBAR_CONTAINER: string;
/** @hidden */
export  const HEADER_TOOLBAR: string;
/** @hidden */
export  const RESOURCE_HEADER_TOOLBAR: string;
/** @hidden */
export  const SELECTED_CELL_CLASS: string;
/** @hidden */
export  const WEEK_NUMBER_WRAPPER_CLASS: string;
/** @hidden */
export  const WEEK_NUMBER_CLASS: string;
/** @hidden */
export  const APPOINTMENT_WRAP_CLASS: string;
/** @hidden */
export  const WRAPPER_CONTAINER_CLASS: string;
/** @hidden */
export  const APPOINTMENT_CONTAINER_CLASS: string;
/** @hidden */
export  const APPOINTMENT_CLASS: string;
/** @hidden */
export  const BLOCK_APPOINTMENT_CLASS: string;
/** @hidden */
export  const BLOCK_INDICATOR_CLASS: string;
/** @hidden */
export  const APPOINTMENT_BORDER: string;
/** @hidden */
export  const APPOINTMENT_DETAILS: string;
/** @hidden */
export  const SUBJECT_WRAP: string;
/** @hidden */
export  const RESOURCE_NAME: string;
/** @hidden */
export  const APPOINTMENT_TIME: string;
/** @hidden */
export  const TABLE_WRAP_CLASS: string;
/** @hidden */
export  const OUTER_TABLE_CLASS: string;
/** @hidden */
export  const CONTENT_WRAP_CLASS: string;
/** @hidden */
export  const VIRTUAL_TRACK_CLASS: string;
/** @hidden */
export  const AGENDA_CELLS_CLASS: string;
/** @hidden */
export  const AGENDA_CURRENT_DAY_CLASS: string;
/** @hidden */
export  const AGENDA_SELECTED_CELL: string;
/** @hidden */
export  const MONTH_HEADER_CLASS: string;
/** @hidden */
export  const AGENDA_HEADER_CLASS: string;
/** @hidden */
export  const AGENDA_RESOURCE_CLASS: string;
/** @hidden */
export  const AGENDA_DATE_CLASS: string;
/** @hidden */
export  const NAVIGATE_CLASS: string;
/** @hidden */
export  const DATE_HEADER_CLASS: string;
/** @hidden */
export  const AGENDA_DAY_BORDER_CLASS: string;
/** @hidden */
export  const DATE_BORDER_CLASS: string;
/** @hidden */
export  const AGENDA_DAY_PADDING_CLASS: string;
/** @hidden */
export  const DATE_TIME_CLASS: string;
/** @hidden */
export  const DATE_TIME_WRAPPER_CLASS: string;
/** @hidden */
export  const AGENDA_EMPTY_EVENT_CLASS: string;
/** @hidden */
export  const AGENDA_NO_EVENT_CLASS: string;
/** @hidden */
export  const APPOINTMENT_INDICATOR_CLASS: string;
/** @hidden */
export  const EVENT_INDICATOR_CLASS: string;
/** @hidden */
export  const EVENT_ICON_UP_CLASS: string;
/** @hidden */
export  const EVENT_ICON_DOWN_CLASS: string;
/** @hidden */
export  const EVENT_ICON_LEFT_CLASS: string;
/** @hidden */
export  const EVENT_ICON_RIGHT_CLASS: string;
/** @hidden */
export  const EVENT_ACTION_CLASS: string;
/** @hidden */
export  const NEW_EVENT_CLASS: string;
/** @hidden */
export  const CLONE_ELEMENT_CLASS: string;
/** @hidden */
export  const MONTH_CLONE_ELEMENT_CLASS: string;
/** @hidden */
export  const CLONE_TIME_INDICATOR_CLASS: string;
/** @hidden */
export  const DRAG_CLONE_CLASS: string;
/** @hidden */
export  const EVENT_RESIZE_CLASS: string;
/** @hidden */
export  const RESIZE_CLONE_CLASS: string;
/** @hidden */
export  const LEFT_RESIZE_HANDLER: string;
/** @hidden */
export  const RIGHT_RESIZE_HANDLER: string;
/** @hidden */
export  const TOP_RESIZE_HANDLER: string;
/** @hidden */
export  const BOTTOM_RESIZE_HANDLER: string;
/** @hidden */
export  const EVENT_RECURRENCE_ICON_CLASS: string;
/** @hidden */
export  const EVENT_RECURRENCE_EDIT_ICON_CLASS: string;
/** @hidden */
export  const HEADER_ROW_CLASS: string;
/** @hidden */
export  const ALLDAY_APPOINTMENT_WRAPPER_CLASS: string;
/** @hidden */
export  const ALLDAY_APPOINTMENT_CLASS: string;
/** @hidden */
export  const EVENT_COUNT_CLASS: string;
/** @hidden */
export  const ROW_COUNT_WRAPPER_CLASS: string;
/** @hidden */
export  const ALLDAY_APPOINTMENT_SECTION_CLASS: string;
/** @hidden */
export  const APPOINTMENT_ROW_EXPAND_CLASS: string;
/** @hidden */
export  const APPOINTMENT_ROW_COLLAPSE_CLASS: string;
/** @hidden */
export  const MORE_INDICATOR_CLASS: string;
/** @hidden */
export  const CELL_POPUP_CLASS: string;
/** @hidden */
export  const EVENT_POPUP_CLASS: string;
/** @hidden */
export  const MULTIPLE_EVENT_POPUP_CLASS: string;
/** @hidden */
export  const POPUP_HEADER_CLASS: string;
/** @hidden */
export  const POPUP_HEADER_ICON_WRAPPER: string;
/** @hidden */
export  const POPUP_CONTENT_CLASS: string;
/** @hidden */
export  const POPUP_FOOTER_CLASS: string;
/** @hidden */
export  const DATE_TIME_DETAILS_CLASS: string;
/** @hidden */
export  const RECURRENCE_SUMMARY_CLASS: string;
/** @hidden */
export  const QUICK_POPUP_EVENT_DETAILS_CLASS: string;
/** @hidden */
export  const EVENT_CREATE_CLASS: string;
/** @hidden */
export  const EDIT_EVENT_CLASS: string;
/** @hidden */
export  const DELETE_EVENT_CLASS: string;
/** @hidden */
export  const TEXT_ELLIPSIS: string;
/** @hidden */
export  const MORE_POPUP_WRAPPER_CLASS: string;
/** @hidden */
export  const MORE_EVENT_POPUP_CLASS: string;
/** @hidden */
export  const MORE_EVENT_HEADER_CLASS: string;
/** @hidden */
export  const MORE_EVENT_DATE_HEADER_CLASS: string;
/** @hidden */
export  const MORE_EVENT_HEADER_DAY_CLASS: string;
/** @hidden */
export  const MORE_EVENT_HEADER_DATE_CLASS: string;
/** @hidden */
export  const MORE_EVENT_CLOSE_CLASS: string;
/** @hidden */
export  const MORE_EVENT_CONTENT_CLASS: string;
/** @hidden */
export  const MORE_EVENT_WRAPPER_CLASS: string;
/** @hidden */
export  const QUICK_DIALOG_CLASS: string;
/** @hidden */
export  const QUICK_DIALOG_OCCURRENCE_CLASS: string;
/** @hidden */
export  const QUICK_DIALOG_SERIES_CLASS: string;
/** @hidden */
export  const QUICK_DIALOG_FOLLOWING_EVENTS_CLASS: string;
/** @hidden */
export  const FOLLOWING_EVENTS_DIALOG: string;
/** @hidden */
export  const QUICK_DIALOG_DELETE_CLASS: string;
/** @hidden */
export  const QUICK_DIALOG_CANCEL_CLASS: string;
/** @hidden */
export  const QUICK_DIALOG_ALERT_OK: string;
/** @hidden */
export  const QUICK_DIALOG_ALERT_CANCEL: string;
/** @hidden */
export  const QUICK_DIALOG_ALERT_FOLLOWING: string;
/** @hidden */
export  const QUICK_DIALOG_ALERT_BTN_CLASS: string;
/** @hidden */
export  const EVENT_WINDOW_DIALOG_CLASS: string;
/** @hidden */
export  const FORM_CONTAINER_CLASS: string;
/** @hidden */
export  const FORM_CLASS: string;
/** @hidden */
export  const EVENT_WINDOW_ALLDAY_TZ_DIV_CLASS: string;
/** @hidden */
export  const EVENT_WINDOW_ALL_DAY_CLASS: string;
/** @hidden */
export  const TIME_ZONE_CLASS: string;
/** @hidden */
export  const TIME_ZONE_ICON_CLASS: string;
/** @hidden */
export  const TIME_ZONE_DETAILS_CLASS: string;
/** @hidden */
export  const EVENT_WINDOW_REPEAT_DIV_CLASS: string;
/** @hidden */
export  const EVENT_WINDOW_REPEAT_CLASS: string;
/** @hidden */
export  const EVENT_WINDOW_TITLE_LOCATION_DIV_CLASS: string;
/** @hidden */
export  const SUBJECT_CLASS: string;
/** @hidden */
export  const LOCATION_CLASS: string;
/** @hidden */
export  const LOCATION_ICON_CLASS: string;
/** @hidden */
export  const LOCATION_DETAILS_CLASS: string;
/** @hidden */
export  const EVENT_WINDOW_START_END_DIV_CLASS: string;
/** @hidden */
export  const EVENT_WINDOW_START_CLASS: string;
/** @hidden */
export  const EVENT_WINDOW_END_CLASS: string;
/** @hidden */
export  const EVENT_WINDOW_RESOURCES_DIV_CLASS: string;
/** @hidden */
export  const DESCRIPTION_CLASS: string;
/** @hidden */
export  const DESCRIPTION_ICON_CLASS: string;
/** @hidden */
export  const DESCRIPTION_DETAILS_CLASS: string;
/** @hidden */
export  const EVENT_WINDOW_TIME_ZONE_DIV_CLASS: string;
/** @hidden */
export  const EVENT_WINDOW_START_TZ_CLASS: string;
/** @hidden */
export  const EVENT_WINDOW_END_TZ_CLASS: string;
/** @hidden */
export  const EVENT_WINDOW_BACK_ICON_CLASS: string;
/** @hidden */
export  const EVENT_WINDOW_SAVE_ICON_CLASS: string;
/** @hidden */
export  const EVENT_WINDOW_CANCEL_BUTTON_CLASS: string;
/** @hidden */
export  const EVENT_WINDOW_SAVE_BUTTON_CLASS: string;
/** @hidden */
export  const EVENT_WINDOW_DIALOG_PARENT_CLASS: string;
/** @hidden */
export  const EVENT_WINDOW_TITLE_TEXT_CLASS: string;
/** @hidden */
export  const EVENT_WINDOW_ICON_DISABLE_CLASS: string;
/** @hidden */
export  const EDIT_CLASS: string;
/** @hidden */
export  const EDIT_ICON_CLASS: string;
/** @hidden */
export  const DELETE_CLASS: string;
/** @hidden */
export  const DELETE_ICON_CLASS: string;
/** @hidden */
export  const CLOSE_CLASS: string;
/** @hidden */
export  const CLOSE_ICON_CLASS: string;
/** @hidden */
export  const ERROR_VALIDATION_CLASS: string;
/** @hidden */
export  const EVENT_TOOLTIP_ROOT_CLASS: string;
/** @hidden */
export  const ALLDAY_ROW_ANIMATE_CLASS: string;
/** @hidden */
export  const TIMESCALE_DISABLE: string;
/** @hidden */
export  const DISABLE_DATE: string;
/** @hidden */
export  const HIDDEN_CLASS: string;
/** @hidden */
export  const POPUP_WRAPPER_CLASS: string;
/** @hidden */
export  const POPUP_TABLE_CLASS: string;
/** @hidden */
export  const RESOURCE_MENU: string;
/** @hidden */
export  const RESOURCE_MENU_ICON: string;
/** @hidden */
export  const RESOURCE_LEVEL_TITLE: string;
/** @hidden */
export  const RESOURCE_TREE: string;
/** @hidden */
export  const RESOURCE_TREE_POPUP_OVERLAY: string;
/** @hidden */
export  const RESOURCE_TREE_POPUP: string;
/** @hidden */
export  const RESOURCE_CLASS: string;
/** @hidden */
export  const RESOURCE_ICON_CLASS: string;
/** @hidden */
export  const RESOURCE_DETAILS_CLASS: string;
/** @hidden */
export  const DATE_TIME_ICON_CLASS: string;
/** @hidden */
export  const VIRTUAL_SCROLL_CLASS: string;
/** @hidden */
export  const ICON_DISABLE_CLASS: string;
/** @hidden */
export  const AUTO_HEIGHT: string;
/** @hidden */
export  const EVENT_TEMPLATE: string;
/** @hidden */
export  const READ_ONLY: string;
/** @hidden */
export  const MONTH_HEADER_WRAPPER: string;
//node_modules/@syncfusion/ej2-schedule/src/schedule/base/interface.d.ts
/**
 * Interface
 */
export interface ActionEventArgs extends base.BaseEventArgs {
    /** Returns the request type of the current action. */
    requestType: string;
    /**
     * Defines the type of the event.
     * @blazorType MouseEventArgs
     */
    event?: Event;
    /** Defines the cancel option for the action taking place. */
    cancel: boolean;
    /** Returns the appropriate data based on the action. */
    data?: Object;
    /** Returns the clicked resource row index. */
    groupIndex?: number;
    /**
     * Returns the appropriate added data based on the action.
     * @isGenericType true
     */
    addedRecords?: Object[];
    /**
     * Returns the appropriate changed data based on the action.
     * @isGenericType true
     */
    changedRecords?: Object[];
    /**
     * Returns the appropriate deleted data based on the action.
     * @isGenericType true
     */
    deletedRecords?: Object[];
}
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[];
}
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).
     * @blazorType DOM
     */
    element?: HTMLElement | HTMLElement[];
    /** Defines the cancel option. */
    cancel?: boolean;
    /**
     * Defines the type of the event.
     * @blazorType MouseEventArgs
     */
    event?: Event;
    /** Returns the group index of the cell. */
    groupIndex?: number;
}
export interface SelectEventArgs extends base.BaseEventArgs {
    /** Returns the request type of the current action. */
    requestType: string;
    /**
     * Defines the type of the event.
     * @blazorType MouseEventArgs
     */
    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.
     * @isGenericType true
     */
    data?: {
        [key: string]: Object;
    } | {
        [key: string]: Object;
    }[];
    /** Returns the clicked resource row index. */
    groupIndex?: number;
}
export interface EventClickArgs extends base.BaseEventArgs {
    /**
     * Returns the date of the event.
     * @deprecated
     */
    date?: Date;
    /**
     * Returns a single or collection of selected or clicked events.
     * @isGenericType true
     */
    event: {
        [key: string]: Object;
    } | {
        [key: string]: Object;
    }[];
    /** Returns the single or collection of HTML element(s). */
    element: HTMLElement | HTMLElement[];
    /** Defines the cancel option. */
    cancel?: boolean;
}
export interface HoverEventArgs extends base.BaseEventArgs {
    /** Returns the mouse event. */
    event: MouseEvent;
    /** Returns the single or collection of HTML element(s). */
    element: HTMLElement;
}
export interface EventRenderedArgs extends base.BaseEventArgs {
    /**
     * Returns the event data.
     * @isGenericType true
     */
    data: {
        [key: string]: Object;
    };
    /** 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;
}
export interface PopupOpenEventArgs extends base.BaseEventArgs {
    /** Returns the type of the popup which is currently being opted to open. */
    type: PopupType;
    /**
     * Returns the cell or event data.
     * @isGenericType true
     */
    data?: Object;
    /** 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;
}
export interface PopupCloseEventArgs extends base.BaseEventArgs {
    /** Returns the type of the popup which is currently being opted to open. */
    type: PopupType;
    /**
     * Returns the cell or event data.
     * @isGenericType true
     */
    data?: Object;
    /** 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;
}
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;
}
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;
}
export interface ResizeEventArgs extends base.BaseEventArgs {
    /** Returns the resize element. */
    element: HTMLElement;
    /**
     * Returns the resize event data.
     * @isGenericType true
     */
    data: {
        [key: string]: Object;
    };
    /**
     * Returns the mouse event.
     * @blazorType MouseEventArgs
     */
    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;
}
export interface DragEventArgs extends base.BaseEventArgs {
    /** Returns the drag element. */
    element: HTMLElement;
    /**
     * Returns the dragged event data.
     * @isGenericType true
     */
    data: {
        [key: string]: Object;
    };
    /**
     * Returns the mouse event.
     * @blazorType MouseEventArgs
     */
    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;
    /** 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;
}
/** @hidden */
export interface TdData {
    date?: Date;
    renderDates?: Date[];
    groupOrder?: string[];
    groupIndex?: number;
    className?: string[];
    colSpan?: number;
    rowSpan?: number;
    type: string;
    resourceLevelIndex?: number;
    resource?: ResourcesModel;
    resourceData?: {
        [key: string]: Object;
    };
    startHour?: Date;
    endHour?: Date;
    workDays?: number[];
    cssClass?: string;
    template?: NodeList | Element[];
}
/** @hidden */
export interface TimeSlotData extends TdData {
    first: boolean;
    middle: boolean;
    last: boolean;
}
/** @hidden */
export interface KeyEventArgs {
    element: HTMLTableElement;
    rowIndex: number;
    columnIndex: number;
    maxIndex: number;
}
/** @hidden */
export interface CellTemplateArgs {
    date: Date;
    type: string;
    groupIndex?: number;
}
export interface ResourceDetails {
    /** Returns the resource model data such as the field mapping options used within it. */
    resource: ResourcesModel;
    /**
     * Returns the child resource data.
     * @isGenericType true
     */
    resourceData: {
        [key: string]: Object;
    };
    /** Returns the respective resource fields data. */
    groupData?: {
        [key: string]: Object;
    };
}
/** @hidden */
export interface CrudArgs extends ActionEventArgs {
    promise?: Promise<Object>;
    editParms?: SaveChanges;
}
/** @hidden */
export interface IRenderer {
    element: HTMLElement;
    renderDates: Date[];
    viewClass: string;
    isInverseTableSelect: boolean;
    isCurrentDate(date: Date): boolean;
    startDate(): Date;
    endDate(): Date;
    scrollToHour?(hour: string): 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;
    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;
}
/** @hidden */
export interface EJ2Instance extends HTMLElement {
    ej2_instances: Object[];
}
/** @hidden */
export interface ScrollCss {
    padding?: string;
    border?: string;
}
/** @hidden */
export interface NotifyEventArgs {
    module?: string;
    cssProperties?: ScrollCss;
    processedData?: Object[];
    isPreventScrollUpdate?: boolean;
    scrollPosition?: {
        [key: string]: Object;
    };
}
/** @hidden */
export interface LayoutData {
    element: HTMLElement;
    selectedDate: Date;
}
/** @hidden */
export interface PopupEventArgs {
    classList?: string[];
    data?: string[] | {
        [key: string]: Object;
    }[];
    fields?: EventFieldsMapping;
    id?: string;
    l10n?: {
        [key: string]: Object;
    };
}
/** @hidden */
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;
}
/** @hidden */
export interface ElementData {
    index: number;
    left: string;
    width: string;
    day: number;
    dayIndex: number;
    record: {
        [key: string]: Object;
    };
    resource: number;
}
/** @hidden */
export interface SaveChanges {
    addedRecords: Object[];
    changedRecords: Object[];
    deletedRecords: Object[];
}
/** @hidden */
export interface UIStateArgs {
    expand?: boolean;
    isInitial?: boolean;
    left?: number;
    top?: number;
    isGroupAdaptive?: boolean;
    isIgnoreOccurrence?: boolean;
    groupIndex?: number;
    action?: boolean;
    isBlock?: boolean;
    viewIndex?: number;
}
/** @hidden */
export interface TreeViewArgs {
    resourceChild?: TreeViewArgs[];
    resourceId?: string;
    resourceName?: string;
}
/** @hidden */
export interface ResizeEdges {
    left: boolean;
    right: boolean;
    top: boolean;
    bottom: boolean;
}
/** @hidden */
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?: {
        [key: string]: Object;
    };
    excludeSelectors?: string;
    scroll?: ScrollOptions;
    navigation?: NavigateOptions;
}
/** @hidden */
export interface StateArgs {
    isRefresh: boolean;
    isResource: boolean;
    isView: boolean;
    isDate: boolean;
    isLayout: boolean;
    isDataManager: boolean;
}
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[];
    /** The custom data collection can be exported by passing them through the customData option. */
    customData?: {
        [key: string]: Object;
    }[];
    /** 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;
}
export interface PredicateData {
    field: string;
    operator: Function;
    value: string;
}
export interface ViewsData extends ViewsModel {
    cellHeaderTemplateName?: string;
    dateHeaderTemplateName?: string;
    cellTemplateName?: string;
    resourceHeaderTemplateName?: string;
    eventTemplateName?: string;
}
export interface DataBoundEventArgs extends base.BaseEventArgs {
    /**
     * Returns the result data.
     * @isGenericType true
     */
    result: Object[];
    count?: number;
    aggregates?: Object;
}
export interface DataBindingEventArgs extends base.BaseEventArgs {
    /**
     * Returns the result data.
     * @isGenericType true
     */
    result: Object[];
    count?: number;
    aggregates?: Object;
}
//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;
    setExpandedResources(): void;
    getContentRows(resData: TdData[]): Element[];
    private setMargin;
    private countCalculation;
    onTreeIconClick(e: Event): void;
    updateContent(index: number, hide: boolean): void;
    updateVirtualContent(index: number, expand: boolean): void;
    renderResourceHeader(): void;
    renderResourceTree(): void;
    private generateTreeData;
    private renderResourceHeaderText;
    private menuClick;
    private resourceClick;
    private documentClick;
    bindResourcesData(isSetModel: boolean): void;
    private dataManagerSuccess;
    private getResourceModel;
    private refreshLayout;
    setResourceCollection(): void;
    generateResourceLevels(innerDates: TdData[], isTimeLine?: boolean): TdData[][];
    generateCustomHours(renderDates: TdData[], startHour: string, endHour: string, groupOrder?: string[]): TdData[];
    private generateHeaderLevels;
    setResourceValues(eventObj: {
        [key: string]: Object;
    }, isCrud: boolean, groupIndex?: number): void;
    getResourceColor(eventObj: {
        [key: string]: Object;
    }, groupOrder?: string[]): string;
    getCssClass(eventObj: {
        [key: string]: Object;
    }): string;
    private filterData;
    private dataManagerFailure;
    getResourceData(eventObj: {
        [key: string]: Object;
    }, index: number, groupEditIndex: number[]): void;
    addResource(resources: Object | Object[], name: string, index: number): void;
    removeResource(resourceId: string | string[] | number | 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.
     * 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.
     * 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.
     * @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.
     * @default true
     */
    showTimeIndicator?: 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
     * * Agenda
     * * MonthAgenda
     * * TimelineDay
     * * TimelineWeek
     * * TimelineWorkWeek
     * * TimelineMonth
     * @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 %}
     * @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.
     * @default 'new Date()'
     * @aspDefaultValue DateTime.Now
     * @blazorDefaultValue DateTime.Now
     */
    selectedDate?: 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. 
     * 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. 
     * 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.
     * 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.
     * @default 0
     */
    firstDayOfWeek?: 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[]
     * @blazorType int[]
     */
    workDays?: 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.
     * @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;
    /**
     * 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.
     * @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.
     * @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-api/index.ts" %}{% 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.
     * @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.
     * @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/date-header-api/index.ts" %}{% 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.
     * @default null
     */
    cellHeaderTemplate?: 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
     * {% codeBlock src="schedule/cell-template-api/index.html" %}{% endcodeBlock %}
     * {% codeBlock src="schedule/cell-template-api/index.ts" %}{% 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.
     * @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`.
     * @default true
     */
    showQuickInfo?: boolean;
    /**
     * When set to `true`, displays the week number of the current view date range.
     *  By default, it is set to `false`.
     * @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. 
     * @default false
     */
    rowAutoHeight?: boolean;
    /**
     * 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/editor-api/index.html" %}{% endcodeBlock %}
     * {% codeBlock src="schedule/editor-api/index.ts" %}{% 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/quick-info-template-api/index.html" %}{% endcodeBlock %}
     * {% codeBlock src="schedule/quick-info-template-api/index.ts" %}{% 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.
     * @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.
     * @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.
     * @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.
     * @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.
     * @default null
     */
    eventSettings?: EventSettingsModel;
    /**
     * 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.
     * {% codeBlock src="schedule/resource-header-api/index.html" %}{% endcodeBlock %}
     * {% codeBlock src="schedule/resource-header-api/index.ts" %}{% endcodeBlock %}
     * @default null
     */
    resourceHeaderTemplate?: 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-api/index.ts" %}{% 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-api/index.ts" %}{% 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/header-rows-api/index.ts" %}{% 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.
     * @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.
     * @default null
     */
    eventDragArea?: string;
    /**
     * Triggers after the scheduler component is created.
     * @event
     * @blazorproperty 'Created'
     */
    created?: base.EmitType<Object>;
    /**
     * Triggers when the scheduler component is destroyed.
     * @event
     * @blazorproperty 'Destroyed'
     */
    destroyed?: base.EmitType<Object>;
    /**
     * Triggers when the scheduler cells are single clicked or on single tap on the same cells in mobile devices.
     * @event
     * @blazorproperty 'OnCellClick'
     */
    cellClick?: base.EmitType<CellClickEventArgs>;
    /**
     * Triggers when the scheduler cells are double clicked.
     * @event
     * @blazorproperty 'OnCellDoubleClick'
     */
    cellDoubleClick?: base.EmitType<CellClickEventArgs>;
    /**
     * Triggers when the scheduler elements are hovered.
     * @event
     * @blazorproperty 'OnHover'
     */
    hover?: base.EmitType<HoverEventArgs>;
    /**
     * Triggers when multiple cells or events are selected on the Scheduler.
     * @event
     * @blazorproperty 'OnSelect'
     * @deprecated
     */
    select?: base.EmitType<SelectEventArgs>;
    /**
     * Triggers on beginning of every scheduler action.
     * @event
     * @blazorproperty 'OnActionBegin'
     * @deprecated
     */
    actionBegin?: base.EmitType<ActionEventArgs>;
    /**
     * Triggers on successful completion of the scheduler actions.
     * @event
     * @blazorproperty 'ActionCompleted'
     * @blazorType Syncfusion.EJ2.Blazor.Schedule.ActionEventArgs<TValue>
     */
    actionComplete?: base.EmitType<ActionEventArgs>;
    /**
     * Triggers when a scheduler action gets failed or interrupted and an error information will be returned.
     * @event
     * @blazorproperty 'OnActionFailure'
     * @blazorType Syncfusion.EJ2.Blazor.Schedule.ActionEventArgs<TValue>
     */
    actionFailure?: base.EmitType<ActionEventArgs>;
    /**
     * Triggers before the date or view navigation takes place on scheduler.
     * @event
     * @blazorproperty 'Navigating'
     */
    navigating?: base.EmitType<NavigatingEventArgs>;
    /**
     * Triggers before each element of the schedule rendering on the page.
     * @event
     * @blazorproperty 'OnRenderCell'
     * @deprecated
     */
    renderCell?: base.EmitType<RenderCellEventArgs>;
    /**
     * Triggers when the events are single clicked or on single tapping the events on the mobile devices.
     * @event
     * @blazorproperty 'OnEventClick'
     * @blazorType Syncfusion.EJ2.Blazor.Schedule.EventClickArgs<TValue>
     */
    eventClick?: base.EmitType<EventClickArgs>;
    /**
     * Triggers before each of the event getting rendered on the scheduler user interface.
     * @event
     * @blazorproperty 'EventRendered'
     * @blazorType Syncfusion.EJ2.Blazor.Schedule.EventRenderedArgs<TValue>
     */
    eventRendered?: base.EmitType<EventRenderedArgs>;
    /**
     * Triggers before the data binds to the scheduler.
     * @event
     * @blazorproperty 'DataBinding'
     * @blazorType Syncfusion.EJ2.Blazor.Schedule.DataBindingEventArgs<TValue>
     */
    dataBinding?: base.EmitType<ReturnType>;
    /**
     * Triggers before any of the scheduler popups opens on the page.
     * @event
     * @blazorproperty 'OnPopupOpen'
     * @blazorType Syncfusion.EJ2.Blazor.Schedule.PopupOpenEventArgs<TValue>
     */
    popupOpen?: base.EmitType<PopupOpenEventArgs>;
    /**
     * Triggers before any of the scheduler popups close on the page.
     * @event
     * @blazorproperty 'OnPopupClose'
     * @blazorType Syncfusion.EJ2.Blazor.Schedule.PopupCloseEventArgs<TValue>
     */
    popupClose?: base.EmitType<PopupCloseEventArgs>;
    /**
     * Triggers when an appointment is started to drag.
     * @event
     * @blazorproperty 'OnDragStart'
     */
    dragStart?: base.EmitType<DragEventArgs>;
    /**
     * Triggers when an appointment is being in a dragged state.
     * @event
     * @blazorproperty 'Dragging'
     * @deprecated
     */
    drag?: base.EmitType<DragEventArgs>;
    /**
     * Triggers when the dragging of appointment is stopped.
     * @event
     * @blazorproperty 'Dragged'
     */
    dragStop?: base.EmitType<DragEventArgs>;
    /**
     * Triggers when an appointment is started to resize.
     * @event
     * @blazorproperty 'OnResizeStart'
     */
    resizeStart?: base.EmitType<ResizeEventArgs>;
    /**
     * Triggers when an appointment is being in a resizing action.
     * @event
     * @blazorproperty 'Resizing'
     * @deprecated
     */
    resizing?: base.EmitType<ResizeEventArgs>;
    /**
     * Triggers when the resizing of appointment is stopped.
     * @event
     * @blazorproperty 'Resized'
     */
    resizeStop?: base.EmitType<ResizeEventArgs>;
    /**
     * Triggers once the event data is bound to the scheduler.
     * @event
     * @blazorproperty 'DataBound'
     * @blazorType Syncfusion.EJ2.Blazor.Schedule.DataBoundEventArgs<TValue>
     */
    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;
    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 majorSlotTemplateFn;
    private minorSlotTemplateFn;
    private appointmentTemplateFn;
    private eventTooltipTemplateFn;
    private headerTooltipTemplateFn;
    private editorTemplateFn;
    private quickInfoTemplatesHeaderFn;
    private quickInfoTemplatesContentFn;
    private quickInfoTemplatesFooterFn;
    private resourceHeaderTemplateFn;
    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: Object[];
    eventsProcessed: Object[];
    blockData: Object[];
    blockProcessed: Object[];
    resourceCollection: ResourcesModel[];
    currentAction: CurrentAction;
    quickPopup: QuickPopups;
    selectedElements: Element[];
    uiStateValues: UIStateArgs;
    timeFormat: string;
    calendarUtil: CalendarUtil;
    isMorePopup: boolean;
    /**
     * Sets the `width` of the Schedule component, accepting both string and number values.
     * 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.
     * 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.
     * @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.
     * @default true
     */
    showTimeIndicator: 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
     * * Agenda
     * * MonthAgenda
     * * TimelineDay
     * * TimelineWeek
     * * TimelineWorkWeek
     * * TimelineMonth
     * @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 %}
     * @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.
     * @default 'new Date()'
     * @aspDefaultValue DateTime.Now
     * @blazorDefaultValue DateTime.Now
     */
    selectedDate: 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.
     * 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.
     * 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.
     * 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.
     * @default 0
     */
    firstDayOfWeek: 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[]
     * @blazorType int[]
     */
    workDays: 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.
     * @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;
    /**
     * 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.
     * @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.
     * @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-api/index.ts" %}{% 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.
     * @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.
     * @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/date-header-api/index.ts" %}{% 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.
     * @default null
     */
    cellHeaderTemplate: 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
     * {% codeBlock src="schedule/cell-template-api/index.html" %}{% endcodeBlock %}
     * {% codeBlock src="schedule/cell-template-api/index.ts" %}{% 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.
     * @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`.
     * @default true
     */
    showQuickInfo: boolean;
    /**
     * When set to `true`, displays the week number of the current view date range.
     *  By default, it is set to `false`.
     * @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.
     * @default false
     */
    rowAutoHeight: boolean;
    /**
     * 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/editor-api/index.html" %}{% endcodeBlock %}
     * {% codeBlock src="schedule/editor-api/index.ts" %}{% 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/quick-info-template-api/index.html" %}{% endcodeBlock %}
     * {% codeBlock src="schedule/quick-info-template-api/index.ts" %}{% 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.
     * @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.
     * @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.
     * @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.
     * @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.
     * @default null
     */
    eventSettings: EventSettingsModel;
    /**
     * 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.
     * {% codeBlock src="schedule/resource-header-api/index.html" %}{% endcodeBlock %}
     * {% codeBlock src="schedule/resource-header-api/index.ts" %}{% endcodeBlock %}
     * @default null
     */
    resourceHeaderTemplate: 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-api/index.ts" %}{% 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-api/index.ts" %}{% 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/header-rows-api/index.ts" %}{% 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.
     * @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.
     * @default null
     */
    eventDragArea: string;
    /**
     * Triggers after the scheduler component is created.
     * @event
     * @blazorproperty 'Created'
     */
    created: base.EmitType<Object>;
    /**
     * Triggers when the scheduler component is destroyed.
     * @event
     * @blazorproperty 'Destroyed'
     */
    destroyed: base.EmitType<Object>;
    /**
     * Triggers when the scheduler cells are single clicked or on single tap on the same cells in mobile devices.
     * @event
     * @blazorproperty 'OnCellClick'
     */
    cellClick: base.EmitType<CellClickEventArgs>;
    /**
     * Triggers when the scheduler cells are double clicked.
     * @event
     * @blazorproperty 'OnCellDoubleClick'
     */
    cellDoubleClick: base.EmitType<CellClickEventArgs>;
    /**
     * Triggers when the scheduler elements are hovered.
     * @event
     * @blazorproperty 'OnHover'
     */
    hover: base.EmitType<HoverEventArgs>;
    /**
     * Triggers when multiple cells or events are selected on the Scheduler.
     * @event
     * @blazorproperty 'OnSelect'
     * @deprecated
     */
    select: base.EmitType<SelectEventArgs>;
    /**
     * Triggers on beginning of every scheduler action.
     * @event
     * @blazorproperty 'OnActionBegin'
     * @deprecated
     */
    actionBegin: base.EmitType<ActionEventArgs>;
    /**
     * Triggers on successful completion of the scheduler actions.
     * @event
     * @blazorproperty 'ActionCompleted'
     * @blazorType Syncfusion.EJ2.Blazor.Schedule.ActionEventArgs<TValue>
     */
    actionComplete: base.EmitType<ActionEventArgs>;
    /**
     * Triggers when a scheduler action gets failed or interrupted and an error information will be returned.
     * @event
     * @blazorproperty 'OnActionFailure'
     * @blazorType Syncfusion.EJ2.Blazor.Schedule.ActionEventArgs<TValue>
     */
    actionFailure: base.EmitType<ActionEventArgs>;
    /**
     * Triggers before the date or view navigation takes place on scheduler.
     * @event
     * @blazorproperty 'Navigating'
     */
    navigating: base.EmitType<NavigatingEventArgs>;
    /**
     * Triggers before each element of the schedule rendering on the page.
     * @event
     * @blazorproperty 'OnRenderCell'
     * @deprecated
     */
    renderCell: base.EmitType<RenderCellEventArgs>;
    /**
     * Triggers when the events are single clicked or on single tapping the events on the mobile devices.
     * @event
     * @blazorproperty 'OnEventClick'
     * @blazorType Syncfusion.EJ2.Blazor.Schedule.EventClickArgs<TValue>
     */
    eventClick: base.EmitType<EventClickArgs>;
    /**
     * Triggers before each of the event getting rendered on the scheduler user interface.
     * @event
     * @blazorproperty 'EventRendered'
     * @blazorType Syncfusion.EJ2.Blazor.Schedule.EventRenderedArgs<TValue>
     */
    eventRendered: base.EmitType<EventRenderedArgs>;
    /**
     * Triggers before the data binds to the scheduler.
     * @event
     * @blazorproperty 'DataBinding'
     * @blazorType Syncfusion.EJ2.Blazor.Schedule.DataBindingEventArgs<TValue>
     */
    dataBinding: base.EmitType<ReturnType>;
    /**
     * Triggers before any of the scheduler popups opens on the page.
     * @event
     * @blazorproperty 'OnPopupOpen'
     * @blazorType Syncfusion.EJ2.Blazor.Schedule.PopupOpenEventArgs<TValue>
     */
    popupOpen: base.EmitType<PopupOpenEventArgs>;
    /**
     * Triggers before any of the scheduler popups close on the page.
     * @event
     * @blazorproperty 'OnPopupClose'
     * @blazorType Syncfusion.EJ2.Blazor.Schedule.PopupCloseEventArgs<TValue>
     */
    popupClose: base.EmitType<PopupCloseEventArgs>;
    /**
     * Triggers when an appointment is started to drag.
     * @event
     * @blazorproperty 'OnDragStart'
     */
    dragStart: base.EmitType<DragEventArgs>;
    /**
     * Triggers when an appointment is being in a dragged state.
     * @event
     * @blazorproperty 'Dragging'
     * @deprecated
     */
    drag: base.EmitType<DragEventArgs>;
    /**
     * Triggers when the dragging of appointment is stopped.
     * @event
     * @blazorproperty 'Dragged'
     */
    dragStop: base.EmitType<DragEventArgs>;
    /**
     * Triggers when an appointment is started to resize.
     * @event
     * @blazorproperty 'OnResizeStart'
     */
    resizeStart: base.EmitType<ResizeEventArgs>;
    /**
     * Triggers when an appointment is being in a resizing action.
     * @event
     * @blazorproperty 'Resizing'
     * @deprecated
     */
    resizing: base.EmitType<ResizeEventArgs>;
    /**
     * Triggers when the resizing of appointment is stopped.
     * @event
     * @blazorproperty 'Resized'
     */
    resizeStop: base.EmitType<ResizeEventArgs>;
    /**
     * Triggers once the event data is bound to the scheduler.
     * @event
     * @blazorproperty 'DataBound'
     * @blazorType Syncfusion.EJ2.Blazor.Schedule.DataBoundEventArgs<TValue>
     */
    dataBound: base.EmitType<ReturnType>;
    /**
     * Constructor for creating the Schedule widget
     * @hidden
     */
    constructor(options?: ScheduleModel, element?: string | HTMLElement);
    /**
     * Core method that initializes the control rendering.
     * @private
     */
    render(): void;
    renderCompleted(): void;
    updateLayoutTemplates(): void;
    resetLayoutTemplates(): void;
    private updateEventTemplates;
    resetEventTemplates(): void;
    private initializeResources;
    renderElements(isLayoutOnly: boolean): void;
    private validateDate;
    private getViewIndex;
    private setViewOptions;
    private getActiveViewOptions;
    private initializeDataModule;
    private initializeView;
    private initializeTemplates;
    private initializePopups;
    getDayNames(type: string): string[];
    private setCldrTimeFormat;
    getCalendarMode(): string;
    getTimeString(date: Date): string;
    getDateTime(date: Date): Date;
    private setCalendarMode;
    changeView(view: View, event?: Event, muteOnChange?: boolean, index?: number): void;
    changeDate(selectedDate: Date, event?: Event): void;
    isSelectedDate(date: Date): boolean;
    getCurrentTime(): Date;
    getNavigateView(): View;
    private animateLayout;
    /**
     * To provide the array of modules needed for control rendering
     * @return {base.ModuleDeclaration[]}
     * @hidden
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * Initializes the values of private members.
     * @private
     */
    protected preRender(): void;
    private getDefaultLocale;
    /**
     * Binding events to the Schedule element.
     * @hidden
     */
    private wireEvents;
    removeSelectedClass(): void;
    addSelectedClass(cells: HTMLTableCellElement[], focusCell: HTMLTableCellElement): void;
    selectCell(element: HTMLElement & HTMLTableCellElement): void;
    getSelectedElements(): Element[];
    getAllDayRow(): Element;
    getContentTable(): HTMLElement;
    getTableRows(): HTMLElement[];
    getWorkCellElements(): Element[];
    getIndexOfDate(collection: Date[], date: Date): number;
    isAllDayCell(td: Element): boolean;
    getDateFromElement(td: Element): Date;
    getCellHeaderTemplate(): Function;
    getCellTemplate(): Function;
    getDateHeaderTemplate(): Function;
    getMajorSlotTemplate(): Function;
    getMinorSlotTemplate(): Function;
    getAppointmentTemplate(): Function;
    getEventTooltipTemplate(): Function;
    getHeaderTooltipTemplate(): Function;
    getEditorTemplate(): Function;
    getQuickInfoTemplatesHeader(): Function;
    getQuickInfoTemplatesContent(): Function;
    getQuickInfoTemplatesFooter(): Function;
    getResourceHeaderTemplate(): Function;
    getCssProperties(): ScrollCss;
    removeNewEventElement(): void;
    getStartEndTime(startEndTime: string): Date;
    private onDocumentClick;
    private onScheduleResize;
    templateParser(template: string): Function;
    boundaryValidation(pageY: number, pageX: number): ResizeEdges;
    /**
     * Unbinding events from the element on widget destroy.
     * @hidden
     */
    private unwireEvents;
    /**
     * Core method to return the component name.
     * @private
     */
    getModuleName(): string;
    /**
     * Returns the properties to be maintained in the persisted state.
     * @private
     */
    protected getPersistData(): string;
    /**
     * Called internally, if any of the property value changed.
     * @private
     */
    onPropertyChanged(newProp: ScheduleModel, oldProp: ScheduleModel): void;
    private propertyChangeAction;
    private extendedPropertyChange;
    private onGroupSettingsPropertyChanged;
    private onEventSettingsPropertyChanged;
    private destroyHeaderModule;
    private destroyPopups;
    /**
     * Allows to show the spinner on schedule at the required scenarios.
     */
    showSpinner(): void;
    /**
     * When the spinner is shown manually using `showSpinner` method, it can be hidden using this `hideSpinner` method.
     */
    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.
     * @method 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.
     * @method getCellDetails
     * @param  {Element} td The cell element whose start and end time details are to be retrieved.
     * @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 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.
     * @isGenericType true
     */
    getResourcesByIndex(index: number): ResourceDetails;
    /**
     * Scrolls the Schedule content area to the specified time.
     * @method scrollTo
     * @param {string} hour Accepts the time value in the skeleton format of 'Hm'.
     * @returns {void}
     */
    scrollTo(hour: 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.
     * @method exportToICalendar
     * @param {string} fileName Accepts the string value.
     * @returns {void}
     */
    exportToICalendar(fileName?: string): void;
    /**
     * Imports the events from an .ics file downloaded from any of the calendars like Google or Outlook into the Scheduler.
     * @param {Blob} fileContent Accepts the file object.
     * @returns {void}
     */
    /**
     * Adds the newly created event into the Schedule dataSource.
     * @method addEvent
     * @param {Object | Object[]} data Single or collection of event objects to be added into Schedule.
     * @returns {void}
     */
    addEvent(data: Object | Object[]): 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.
     * @method exportToExcel
     * @param  {ExportOptions} excelExportOptions The export options to be set before start with
     * exporting the Scheduler events to an Excel file.
     * @return {void}
     */
    exportToExcel(excelExportOptions?: ExportOptions): void;
    /** print function */
    print(): void;
    /**
     * Updates the changes made in the event object by passing it as an parameter into the dataSource.
     * @method saveEvent
     * @param {[key: string]: 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: {
        [key: string]: Object;
    } | {
        [key: string]: Object;
    }[], currentAction?: CurrentAction): void;
    /**
     * Deletes the events based on the provided ID or event collection in the argument list.
     * @method deleteEvent
     * @param {{[key: string]: Object}} id Single event objects to be removed from the Schedule.
     * @param {{[key: string]: Object }[]} id Collection of event objects to be removed from the Schedule.
     * @param {string | number} id Accepts the ID 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 | {
        [key: string]: Object;
    } | {
        [key: string]: Object;
    }[], currentAction?: CurrentAction): void;
    /**
     * Retrieves the entire collection of events bound to the Schedule.
     * @method getEvents
     * @returns {Object[]} Returns the collection of event objects from the Schedule.
     * @isGenericType true
     */
    getEvents(startDate?: Date, endDate?: Date, includeOccurrences?: boolean): Object[];
    /**
     * Retrieves the entire collection of events bound to the Schedule.
     * @method getBlockEvents
     * @returns {Object[]} Returns the collection of block event objects from the Schedule.
     * @isGenericType true
     */
    getBlockEvents(startDate?: Date, endDate?: Date, includeOccurrences?: boolean): Object[];
    /**
     * Retrieves the occurrences of a single recurrence event based on the provided parent ID.
     * @method 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.
     * @isGenericType true
     */
    getOccurrencesByID(eventID: number | string): Object[];
    /**
     * Retrieves all the occurrences that lies between the specific start and end time range.
     * @method 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.
     * @isGenericType true
     */
    getOccurrencesByRange(startTime: Date, endTime: Date): Object[];
    /**
     * Retrieves the dates that lies on active view of Schedule.
     * @method getCurrentViewDates
     * @returns {Date[]} Returns the collection of dates.
     */
    getCurrentViewDates(): Object[];
    /**
     * Set the recurrence editor instance from custom editor template.
     * @method setRecurrenceEditor
     */
    setRecurrenceEditor(recurrenceEditor: RecurrenceEditor): void;
    /**
     * Get deleted occurrences from given recurrence series.
     * @method getDeletedOccurrences
     * @returns {Object[]} Returns the collection of deleted occurrence events.
     * @isGenericType true
     */
    getDeletedOccurrences(recurrenceData: string | number | {
        [key: string]: Object;
    }): Object[];
    /**
     * Retrieves the events that lies on the current date range of the active view of Schedule.
     * @method getCurrentViewEvents
     * @returns {Object[]} Returns the collection of events.
     * @isGenericType true
     */
    getCurrentViewEvents(): Object[];
    /**
     * Refreshes the event dataSource. This method may be useful when the events alone in the schedule needs to be re-rendered.
     * @method refreshEvents
     * @returns {void}
     */
    refreshEvents(): void;
    /**
     * To retrieve the appointment object from element.
     * @method getEventDetails
     * @param {Element} element Denotes the event UI element on the Schedule.
     * @returns {Object} Returns the event details.
     * @isGenericType true
     */
    getEventDetails(element: Element): Object;
    /**
     * To check whether the given time range slots are available for event creation or already occupied by other events.
     * @method 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 | Object, endTime?: Date, groupIndex?: number): boolean;
    /**
     * To manually open the event editor on specific time or on certain events.
     * @method 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: Object, action: CurrentAction, isEventData?: boolean, repeatType?: number): void;
    /**
     * To manually close the event editor window
     * @method closeEditor
     * @return {void}
     */
    closeEditor(): void;
    /**
     * To manually close the quick info popup
     * @method closeQuickInfoPopup
     * @return {void}
     */
    closeQuickInfoPopup(): void;
    /**
     * Adds the resources to the specified index.
     * @param resources
     * @param {string} name Name of the resource defined in resources collection.
     * @param {number} index Index or position where the resource should be added.
     */
    addResource(resources: Object | Object[], name: string, index: number): void;
    /**
     * Removes the specified resource.
     * @param resourceId Specifies the resource id to be removed.
     * @param name Specifies the resource name from which the id should be referred.
     */
    removeResource(resourceId: string | string[] | number | number[], name: string): void;
    /**
     * Destroys the Schedule component.
     * @method destroy
     * @return {void}
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/base/type.d.ts
/**
 * types
 */
/**
 * An enum type that denotes the view mode of the schedule. Available options are as follows
 * * Day
 * * Week
 * * WorkWeek
 * * Month
 * * Agenda
 * * MonthAgenda
 * * TimelineDay
 * * TimelineWeek
 * * TimelineWorkWeek
 * * TimelineMonth
 * * TimelineYear
 */
export  type View = 'Day' | 'Week' | 'WorkWeek' | 'Month' | 'Agenda' | 'MonthAgenda' | 'TimelineDay' | 'TimelineWeek' | 'TimelineWorkWeek' | 'TimelineMonth' | 'TimelineYear';
export  type CurrentAction = 'Add' | 'Save' | 'Delete' | 'DeleteOccurrence' | 'DeleteSeries' | 'EditOccurrence' | 'EditSeries' | 'EditFollowingEvents' | 'DeleteFollowingEvents';
export  type ReturnType = {
    result: Object[];
    count: number;
    aggregates?: Object;
};
export  type PopupType = 'Editor' | 'EventContainer' | 'QuickInfo' | 'RecurrenceAlert' | 'DeleteAlert' | 'ViewEventInfo' | 'EditEventInfo' | 'ValidationAlert' | 'RecurrenceValidationAlert';
export  type HeaderRowType = 'Year' | 'Month' | 'Week' | 'Date' | 'Hour';
export  type Orientation = 'Vertical' | 'Horizontal';
export  type ExcelFormat = 'csv' | 'xlsx';
export  type TemplateType = 'Both' | 'Cell' | 'Event';
//node_modules/@syncfusion/ej2-schedule/src/schedule/base/util.d.ts
/**
 * Schedule common utilities
 */
export  const WEEK_LENGTH: number;
export  const MS_PER_DAY: number;
export  const MS_PER_MINUTE: number;
export  function getElementHeightFromClass(container: Element, elementClass: string): number;
export  function getTranslateY(element: HTMLElement | Element): number;
export  function getWeekFirstDate(date1: Date, firstDayOfWeek: number): Date;
export  function getWeekLastDate(date: Date, firstDayOfWeek: number): Date;
export  function firstDateOfMonth(date: Date): Date;
export  function lastDateOfMonth(dt: Date): Date;
export  function getWeekNumber(dt: Date): number;
export  function setTime(date: Date, time: number): Date;
export  function resetTime(date: Date): Date;
export  function getDateInMs(date: Date): number;
export  function getDateCount(startDate: Date, endDate: Date): number;
export  function addDays(date: Date, i: number): Date;
export  function addMonths(date: Date, i: number): Date;
export  function addYears(date: Date, i: number): Date;
export  function getStartEndHours(date: Date, startHour: Date, endHour: Date): {
    [key: string]: Date;
};
export  function getMaxDays(d: Date): number;
export  function getDaysCount(startDate: number, endDate: number): number;
export  function getDateFromString(date: string): Date;
/** @hidden */
export  function getScrollBarWidth(): number;
export  function findIndexInData(data: {
    [key: string]: Object;
}[], property: string, value: string): number;
export  function getOuterHeight(element: HTMLElement): number;
export  function removeChildren(element: HTMLElement | Element): void;
//node_modules/@syncfusion/ej2-schedule/src/schedule/event-renderer/agenda-base.d.ts
export  class AgendaBase {
    parent: Schedule;
    viewBase: ViewBase;
    /**
     * Constructor for AgendaBase
     */
    constructor(parent: Schedule);
    createAgendaContentElement(type: string, listData: {
        [key: string]: Object;
    }[], aTd: Element, groupOrder?: string[], groupIndex?: number): Element;
    createAppointment(event: {
        [key: string]: Object;
    }): HTMLElement[];
    processAgendaEvents(events: Object[]): Object[];
    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;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/event-renderer/event-base.d.ts
/**
 * EventBase for appointment rendering
 */
export  class EventBase {
    parent: Schedule;
    slots: Object[];
    cssClass: string;
    groupOrder: string[];
    /**
     * Constructor for EventBase
     */
    constructor(parent: Schedule);
    processData(events: {
        [key: string]: Object;
    }[], timeZonePropChanged?: boolean, oldTimezone?: string): Object[];
    getProcessedEvents(eventCollection?: Object[]): Object[];
    timezonePropertyChange(oldTimezone: string): void;
    /** @private */
    timezoneConvert(eventData: {
        [key: string]: Object;
    }): void;
    private processTimezoneChange;
    processTimezone(event: {
        [key: string]: Object;
    }, isReverse?: boolean): {
        [key: string]: Object;
    };
    filterBlockEvents(eventObj: {
        [key: string]: Object;
    }): Object[];
    filterEvents(startDate: Date, endDate: Date, appointments?: Object[], resourceTdData?: TdData): Object[];
    filterEventsByRange(eventCollection: Object[], startDate?: Date, endDate?: Date): Object[];
    filterEventsByResource(resourceTdData: TdData, appointments?: Object[]): Object[];
    sortByTime(appointments: Object[]): Object[];
    sortByDateTime(appointments: Object[]): Object[];
    getSmallestMissingNumber(array: Object[]): number;
    splitEventByDay(event: {
        [key: string]: Object;
    }): Object[];
    splitEvent(event: {
        [key: string]: Object;
    }, dateRender: Date[]): {
        [key: string]: Object;
    }[];
    private cloneEventObject;
    private dateInRange;
    getSelectedEventElements(target: Element): Element[];
    getSelectedEvents(): EventClickArgs;
    removeSelectedAppointmentClass(): void;
    addSelectedAppointments(cells: Element[]): void;
    getSelectedAppointments(): Element[];
    focusElement(): void;
    selectWorkCellByTime(eventsData: Object[]): Element;
    getGroupIndexFromEvent(eventData: {
        [key: string]: Object;
    }): number;
    isAllDayAppointment(event: {
        [key: string]: Object;
    }): boolean;
    addEventListener(): void;
    private appointmentBorderRemove;
    wireAppointmentEvents(element: HTMLElement, isAllDay?: boolean, event?: {
        [key: string]: Object;
    }, isPreventDragAndResize?: boolean): void;
    renderResizeHandler(element: HTMLElement, spanEvent: {
        [key: string]: Object;
    }, isReadOnly: boolean): void;
    private eventClick;
    private eventDoubleClick;
    getEventByGuid(guid: string): Object;
    getEventById(id: number | string): {
        [key: string]: Object;
    };
    generateGuid(): string;
    getEventIDType(): string;
    getEventMaxID(resourceId?: number): number | string;
    private activeEventData;
    generateOccurrence(event: {
        [key: string]: Object;
    }, viewDate?: Date, oldTimezone?: string, isMaxCount?: boolean): Object[];
    getRecurrenceEvent(eventData: {
        [key: string]: Object;
    }): {
        [key: string]: Object;
    };
    getParentEvent(eventObj: {
        [key: string]: Object;
    }, isParent?: boolean): {
        [key: string]: Object;
    };
    getEventCollections(parentObj: {
        [key: string]: Object;
    }, childObj?: {
        [key: string]: Object;
    }): {
        [key: string]: Object[];
    };
    getFollowingEvent(parentObj: {
        [key: string]: Object;
    }, isReverse?: boolean): {
        [key: string]: Object;
    };
    isFollowingEvent(parentObj: {
        [key: string]: Object;
    }, childObj: {
        [key: string]: Object;
    }): boolean;
    getOccurrenceEvent(eventObj: {
        [key: string]: Object;
    }, isGuid?: boolean, isFollowing?: boolean): Object[];
    getOccurrencesByID(id: number | string): Object[];
    getOccurrencesByRange(startTime: Date, endTime: Date): Object[];
    getDeletedOccurrences(recurrenceData: string | number | {
        [key: string]: Object;
    }): Object[];
    applyResourceColor(element: HTMLElement, data: {
        [key: string]: Object;
    }, type: string, index?: string[], alpha?: string): void;
    createBlockAppointmentElement(record: {
        [key: string]: Object;
    }, resIndex: number): HTMLElement;
    setWrapperAttributes(appointmentWrapper: HTMLElement, resIndex: number): void;
    getReadonlyAttribute(event: {
        [key: string]: Object;
    }): string;
    isBlockRange(eventData: Object | Object[]): boolean;
    getFilterEventsList(dataSource: Object[], query: data.Predicate): {
        [key: string]: Object;
    }[];
    getSeriesEvents(parentEvent: {
        [key: string]: Object;
    }, startTime?: string): {
        [key: string]: Object;
    }[];
    getEditedOccurrences(deleteFutureEditEventList: {
        [key: string]: Object;
    }[], startTime?: string): {
        [key: string]: Object;
    }[];
}
//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: Object[];
    eventHeight: number;
    private monthHeaderHeight;
    workCells: HTMLElement[];
    cellWidth: number;
    cellHeight: number;
    moreIndicatorHeight: number;
    renderType: string;
    /**
     * Constructor for month events
     */
    constructor(parent: Schedule);
    renderAppointments(): void;
    renderEventsHandler(dateRender: Date[], workDays: number[], resData?: TdData): void;
    private processBlockEvents;
    private isSameDate;
    renderBlockEvents(event: {
        [key: string]: Object;
    }, resIndex: number, isIcon: boolean): void;
    renderBlockIndicator(cellTd: HTMLElement, position: number, resIndex: number): void;
    getStartTime(event: {
        [key: string]: Object;
    }, eventData: {
        [key: string]: Object;
    }): Date;
    getEndTime(event: {
        [key: string]: Object;
    }, eventData: {
        [key: string]: Object;
    }): 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: {
        [key: string]: Object;
    }): void;
    renderResourceEvents(): void;
    getSlotDates(workDays?: number[]): void;
    createAppointmentElement(record: {
        [key: string]: Object;
    }, resIndex: number, isCloneElement?: boolean): HTMLElement;
    private appendEventIcons;
    renderEvents(event: {
        [key: string]: Object;
    }, resIndex: number, eventsList?: {
        [key: string]: Object;
    }[]): void;
    updateCellHeight(cell: HTMLElement, height: number): void;
    updateBlockElements(): void;
    getFilteredEvents(startDate: Date, endDate: Date, groupIndex: string, eventsList?: {
        [key: string]: Object;
    }[]): Object[];
    getOverlapEvents(date: Date, appointments: {
        [key: string]: Object;
    }[]): Object[];
    getIndex(date: Date): number;
    moreIndicatorClick(event: Event): void;
    renderEventElement(event: {
        [key: string]: Object;
    }, appointmentElement: HTMLElement, cellTd: Element): void;
    getEventData(event: {
        [key: string]: Object;
    }): {
        [key: string]: Object;
    };
    renderElement(cellTd: HTMLElement | Element, element: HTMLElement): void;
    private renderWrapperElement;
    getMoreIndicatorElement(count: number, startDate: Date, endDate: Date): HTMLElement;
    removeHeightProperty(selector: string): 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;
    private slotCount;
    private interval;
    private day;
    private appContainers;
    private dayLength;
    private slotsPerDay;
    private content;
    private rowIndex;
    /**
     * Constructor for timeline views
     */
    constructor(parent: Schedule, type: string);
    getSlotDates(): void;
    getOverlapEvents(date: Date, appointments: {
        [key: string]: Object;
    }[]): Object[];
    renderResourceEvents(): void;
    renderEvents(event: {
        [key: string]: Object;
    }, resIndex: number, eventsList?: {
        [key: string]: Object;
    }[]): void;
    updateCellHeight(cell: HTMLElement, height: number): void;
    private getFirstChild;
    updateBlockElements(): void;
    getStartTime(event: {
        [key: string]: Object;
    }, eventData: {
        [key: string]: Object;
    }): Date;
    private getNextDay;
    getEndTime(event: {
        [key: string]: Object;
    }, eventData: {
        [key: string]: Object;
    }): Date;
    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;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/event-renderer/vertical-view.d.ts
/**
 * Vertical view appointment rendering
 */
export  class VerticalEvent extends EventBase {
    private dateRender;
    private renderedEvents;
    private renderedAllDayEvents;
    private overlapEvents;
    private moreEvents;
    private overlapList;
    private allDayEvents;
    private slotCount;
    private interval;
    private allDayLevel;
    private startHour;
    private endHour;
    private element;
    private allDayElement;
    private animation;
    private fields;
    private cellHeight;
    private resources;
    /**
     * Constructor for vertical view
     */
    constructor(parent: Schedule);
    renderAppointments(): void;
    private initializeValues;
    private isValidEvent;
    private getHeight;
    private appendEvent;
    private processBlockEvents;
    private renderBlockEvents;
    private renderEvents;
    private setValues;
    private getResourceList;
    private createAppointmentElement;
    private createMoreIndicator;
    private renderSpannedIcon;
    private isSpannedEvent;
    private renderAllDayEvents;
    private renderNormalEvents;
    private getEventWidth;
    private getEventLeft;
    private getTopValue;
    private getOverlapIndex;
    private adjustOverlapElements;
    private setAllDayRowHeight;
    private addOrRemoveClass;
    private getEventHeight;
    private rowExpandCollapse;
    private animationUiUpdate;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/event-renderer/year.d.ts
/**
 * Year view events render
 */
export  class YearEvent extends TimelineEvent {
    cellHeader: number;
    /**
     * Constructor for year events
     */
    constructor(parent: Schedule);
    renderAppointments(): void;
    private yearViewEvents;
    private timelineYearViewEvents;
    private renderEvent;
    private renderMoreIndicatior;
    private createEventElement;
    private isSpannedEvent;
    getOverlapEvents(date: Date, appointments: {
        [key: string]: Object;
    }[]): Object[];
}
//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): void;
    private customFieldFilter;
    private convertDateToString;
    private download;
    private filterEvents;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the ICalendarExport.
     * @return {void}
     * @private
     */
    destroy(): void;
}
/**
 * ICalendar Import Module
 */
export  class ICalendarImport {
    private parent;
    private allDay;
    constructor(parent: Schedule);
    initializeCalendarImport(fileContent: Blob): void;
    private iCalendarParser;
    private processOccurrence;
    private getDateString;
    private dateParsing;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the ICalendarImport.
     * @return {void}
     * @private
     */
    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;
    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;
    constructor(parent: Schedule);
    printScheduler(): void;
    private getScrollableElement;
    private print;
    private scrolledScheduler;
    /**
     * For internal use only - Get the module name.
     * @private
     */
    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 []
     * @isGenericType true
     */
    dataSource?: Object[] | 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;
    /**
     * 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;
}
//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 []
     * @isGenericType true
     */
    dataSource: Object[] | 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;
    /**
     * 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;
}
//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?: Object;
}
//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: Object;
}
//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: 'Add title', 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: 'Add title', 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.
     *  @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.
     *  @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 []
     * @isGenericType true
     */
    dataSource?: Object[] | 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 []
     * @isGenericType true
     */
    dataSource: Object[] | 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
     * * 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 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;
    /**
     * 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[]
     * @blazorType 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;
    /**
     * It is used to specify the year view rendering orientation on the schedule.
     * @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[];
}
//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
     * * 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 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;
    /**
     * 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[]
     * @blazorType 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;
    /**
     * It is used to specify the year view rendering orientation on the schedule.
     * @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[];
}
//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 onBeforeOpen;
    private onBeforeClose;
    private onBeforeRender;
    private setContent;
    close(): void;
    /**
     * To destroy the event tooltip.
     * @return {void}
     * @private
     */
    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;
    /**
     * Constructor for event window
     */
    constructor(parent: Schedule);
    private renderEventWindow;
    private updateEditorTemplate;
    private resetEditorTemplate;
    refresh(): void;
    refreshRecurrenceEditor(): void;
    setRecurrenceEditor(recurrenceEditor: RecurrenceEditor): void;
    openEditor(data: Object, type: CurrentAction, isEventData?: boolean, repeatType?: number): void;
    setDialogContent(): void;
    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: {
        [key: string]: Object;
    }, eventObj: {
        [key: string]: Object;
    }): void;
    private applyFormValidation;
    private showDetails;
    private getColumnName;
    private onAllDayChange;
    private updateDateTime;
    private getFormat;
    private onEventDetailsUpdate;
    private disableButton;
    private renderRecurrenceEditor;
    private updateRepeatLabel;
    dialogClose(): void;
    private resetForm;
    private timezoneChangeStyle;
    private resetFormFields;
    eventSave(alert?: string): void;
    getEventDataFromEditor(): {
        [key: string]: {
            [key: string]: Object;
        };
    };
    private processEventValidation;
    private processCrudActions;
    private getResourceData;
    getObjectFromFormData(className: string): {
        [key: string]: Object;
    };
    setDefaultValueToObject(eventObj: {
        [key: string]: Object;
    }): void;
    private recurrenceValidation;
    private getRecurrenceIndex;
    private trimAllDay;
    editOccurrenceValidation(eventId: string | number, currentData: {
        [key: string]: Object;
    }, editData?: {
        [key: string]: Object;
    }): boolean;
    private resourceSaveEvent;
    private getEventIdFromForm;
    private getFormElements;
    private getValueFromElement;
    private setValueToElement;
    private setDefaultValueToElement;
    private getInstance;
    private eventDelete;
    getRecurrenceEditorInstance(): RecurrenceEditor;
    private destroyComponents;
    /**
     * To destroy the event window.
     * @return {void}
     * @private
     */
    destroy(): 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;
    renderFormValidator(form: HTMLFormElement, rules: {
        [key: string]: Object;
    }, element: HTMLElement): void;
    private validationComplete;
    private errorPlacement;
    private createTooltip;
    destroyToolTip(): void;
    /**
     * @hidden
     */
    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;
    /**
     * Constructor for QuickPopups
     */
    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?: Object | Object[]): 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;
    private getResourceText;
    private getFormattedString;
    moreEventClick(data: EventClickArgs, endDate: Date, groupIndex?: string): void;
    private saveClick;
    private detailsClick;
    private editClick;
    deleteClick(): 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 updateQuickPopupTemplates;
    private resetQuickPopupTemplates;
    private quickPopupClose;
    private morePopupOpen;
    private morePopupClose;
    quickPopupHide(hideAnimation?: Boolean): void;
    private navigationClick;
    private documentClick;
    onClosePopup(): void;
    private addEventListener;
    private removeEventListner;
    private destroyButtons;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/renderer/agenda.d.ts
/**
 * agenda view
 */
export  class Agenda extends ViewBase implements IRenderer {
    viewClass: string;
    isInverseTableSelect: boolean;
    agendaDates: {
        [key: string]: Date;
    };
    virtualScrollTop: number;
    minDate: Date;
    maxDate: Date;
    agendaBase: AgendaBase;
    dataSource: Object[];
    /**
     * Constructor for agenda view
     */
    constructor(parent: Schedule);
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    renderLayout(): void;
    private eventLoad;
    private refreshEvent;
    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;
    /**
     * To destroy the agenda.
     * @return {void}
     * @private
     */
    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
     */
    constructor(parent: Schedule);
    /**
     * Get 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 for render module
     */
    constructor(parent: Schedule);
    addEventListener(): void;
    removeEventListener(): void;
    private closeHeaderPopup;
    /** @hidden */
    hideHeaderPopup(): void;
    renderHeader(): void;
    private renderToolbar;
    updateItems(): void;
    getPopUpRelativeElement(): HTMLElement;
    setDayOfWeek(index: number): void;
    setCalendarDate(date: Date): void;
    getCalendarView(): calendars.CalendarView;
    setCalendarView(): void;
    updateActiveView(): void;
    updateDateRange(text: string): void;
    private getDateRangeText;
    private getItems;
    private getItemObject;
    private renderHeaderPopup;
    private calendarChange;
    private calculateViewIndex;
    private toolbarClickHandler;
    getHeaderElement(): HTMLElement;
    updateHeaderItems(classType: string): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the headerbar.
     * @return {void}
     * @private
     */
    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;
    agendaDates: {
        [key: string]: Date;
    };
    agendaBase: AgendaBase;
    /**
     * Constructor
     */
    constructor(parent: Schedule);
    renderAppointmentContainer(): void;
    getDayNameFormat(): string;
    private setEventWrapperHeight;
    onDataReady(args: NotifyEventArgs): void;
    onCellClick(event: CellClickEventArgs): void;
    private onEventRender;
    private appointmentFiltering;
    private clearElements;
    private appendAppContainer;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
}
//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;
    /**
     * Constructor for month view
     */
    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;
    setContentHeight(content: HTMLElement, leftPanelElement: HTMLElement, height: number): void;
    generateColumnLevels(): TdData[][];
    getDateSlots(renderDates: Date[], workDays: number[]): TdData[];
    getDayNameFormat(): string;
    renderLayout(type: string): 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;
    getRenderDates(workDays?: number[]): Date[];
    getNextPreviousDate(type: string): Date;
    getEndDateFromStartDate(start: Date): Date;
    getDateRangeText(): string;
    getLabelText(view: string): string;
    private createWeekNumberElement;
    unwireEvents(): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the month.
     * @return {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/renderer/renderer.d.ts
/**
 * Schedule DOM rendering
 */
export  class Render {
    parent: Schedule;
    /**
     * Constructor for render
     */
    constructor(parent: Schedule);
    render(viewName: View, isDataRefresh?: boolean): void;
    private initializeLayout;
    updateLabelText(view: string): void;
    refreshDataManager(): void;
    private dataManagerSuccess;
    private dataManagerFailure;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/renderer/timeline-header-row.d.ts
/**
 * timeline header
 */
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;
    /**
     * Constructor for timeline month view
     */
    constructor(parent: Schedule);
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    onDataReady(args: NotifyEventArgs): 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(): void;
    unwireEvents(): void;
    getMonthStart(currentDate: Date): Date;
    getMonthEnd(currentDate: Date): Date;
    generateColumnLevels(): TdData[][];
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/renderer/timeline-view.d.ts
/**
 * timeline view
 */
export  class TimelineViews extends VerticalView {
    constructor(parent: Schedule);
    getLeftPanelElement(): HTMLElement;
    scrollTopPanel(target: HTMLElement): void;
    scrollToWorkHour(): void;
    scrollToHour(hour: string): 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;
    protected getModuleName(): string;
}
//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 for timeline year view
     */
    constructor(parent: Schedule);
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    renderHeader(headerWrapper: HTMLElement): void;
    renderContent(contentWrapper: HTMLElement): void;
}
//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;
    /**
     * Constructor for vertical view
     */
    constructor(parent: Schedule);
    addEventListener(): void;
    removeEventListener(): void;
    renderEvents(): void;
    private onContentScroll;
    private onApaptiveMove;
    private onApaptiveScroll;
    scrollLeftPanel(target: HTMLElement): void;
    private scrollUiUpdate;
    setContentHeight(element: HTMLElement, leftPanelElement: HTMLElement, height: number): void;
    scrollToWorkHour(): void;
    scrollToHour(hour: string): void;
    generateColumnLevels(): TdData[][];
    getDateSlots(renderDates: Date[], workDays: number[], workStartHour?: string, workEndHour?: string): TdData[];
    private isWorkHourRange;
    highlightCurrentTime(): void;
    getCurrentTimeIndicatorIndex(): number[];
    private clearCurrentTimeIndicatorTimer;
    removeCurrentTimeIndicatorElements(): void;
    changeCurrentTimePosition(): void;
    getTopFromDateTime(date: Date): number;
    private getWorkCellHeight;
    private getTdContent;
    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;
    createContentTd(tdData: TdData, r: TimeSlotData, td: Element): Element;
    getContentTdClass(r: TimeSlotData): string[];
    private renderContentTableHeader;
    private createEventWrapper;
    getScrollableElement(): Element;
    getLeftPanelElement(): HTMLElement;
    getEndDateFromStartDate(start: Date): Date;
    getTimeSlotRows(handler?: Function): TimeSlotData[];
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the vertical view.
     * @return {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/renderer/view-base.d.ts
/**
 * view base
 */
export  namespace ViewHelper {
    const getDayName: Function;
    const getDate: Function;
    const getTime: Function;
    const getTimelineDate: Function;
}
export  class ViewBase {
    element: HTMLElement;
    parent: Schedule;
    renderDates: Date[];
    colLevels: TdData[][];
    /**
     * Constructor
     */
    constructor(parent: Schedule);
    isTimelineView(): boolean;
    getContentRows(): Element[];
    createEventTable(trCount: number): Element;
    getEventRows(trCount: number): Element[];
    collapseRows(wrap: Element): void;
    createTableLayout(className?: string): Element;
    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;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/renderer/week.d.ts
/**
 * week view
 */
export  class Week extends VerticalView {
    viewClass: string;
    /**
     * Constructor for week view
     */
    constructor(parent: Schedule);
    /**
     * Get 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
     */
    constructor(par: Schedule);
    /**
     * Get 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 workCellAction;
    /**
     * Constructor for year view
     */
    constructor(parent: Schedule);
    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;
    private onCellClick;
    onContentScroll(e: Event): void;
    onScrollUiUpdate(args: NotifyEventArgs): void;
    startDate(): Date;
    endDate(): Date;
    getEndDateFromStartDate(start: Date): Date;
    getNextPreviousDate(type: string): Date;
    getDateRangeText(): string;
    addEventListener(): void;
    removeEventListener(): void;
    onDataReady(args: NotifyEventArgs): void;
    wireEvents(element: HTMLElement, type: string): void;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the year.
     * @return {void}
     * @private
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-schedule/src/schedule/timezone/timezone.d.ts
/**
 * Time zone
 */
export  class Timezone {
    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;
}
export  let timezoneData: {
    [key: string]: Object;
}[];
 }
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
 */
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;
}
//node_modules/@syncfusion/ej2-splitbuttons/src/common/common.d.ts
export  type SplitButtonIconPosition = 'Left' | 'Top';
/**
 * @param props
 * @param model
 */
export  function getModel(props: Object, model: string[]): Object;
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;
}
/**
 * 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;
    /**
     * Specifies action items with its properties which will be rendered as DropDownButton popup.
     * @default []
     */
    items?: ItemModel[];
    /**
     * Allows to specify the DropDownButton popup item element.
     * @default ""
     */
    target?: string | Element;
    /**
     * Triggers while rendering each popups.Popup item of DropDownButton.
     * @event
     * @blazorProperty 'OnItemRender'
     */
    beforeItemRender?: base.EmitType<MenuEventArgs>;
    /**
     * Triggers before opening the DropDownButton popup.
     * @event
     * @blazorProperty 'OnOpen'
     */
    beforeOpen?: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before closing the DropDownButton popup.
     * @event
     * @blazorProperty 'OnClose'
     */
    beforeClose?: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers while closing the DropDownButton popup.
     * @event
     * @blazorProperty 'Closed'
     */
    close?: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers while opening the DropDownButton popup.
     * @event
     * @blazorProperty 'Opened'
     */
    open?: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers while selecting action item in DropDownButton popup.
     * @event
     * @blazorProperty 'ItemSelected'
     */
    select?: base.EmitType<MenuEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     * @event
     * @blazorProperty '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 {
    protected dropDown: popups.Popup;
    protected button: buttons.Button;
    protected activeElem: HTMLElement[];
    private rippleFn;
    private delegateMousedownHandler;
    /**
     * 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;
    /**
     * Specifies action items with its properties which will be rendered as DropDownButton popup.
     * @default []
     */
    items: ItemModel[];
    /**
     * Allows to specify the DropDownButton popup item element.
     * @default ""
     */
    target: string | Element;
    /**
     * Triggers while rendering each popups.Popup item of DropDownButton.
     * @event
     * @blazorProperty 'OnItemRender'
     */
    beforeItemRender: base.EmitType<MenuEventArgs>;
    /**
     * Triggers before opening the DropDownButton popup.
     * @event
     * @blazorProperty 'OnOpen'
     */
    beforeOpen: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before closing the DropDownButton popup.
     * @event
     * @blazorProperty 'OnClose'
     */
    beforeClose: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers while closing the DropDownButton popup.
     * @event
     * @blazorProperty 'Closed'
     */
    close: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers while opening the DropDownButton popup.
     * @event
     * @blazorProperty 'Opened'
     */
    open: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers while selecting action item in DropDownButton popup.
     * @event
     * @blazorProperty 'ItemSelected'
     */
    select: base.EmitType<MenuEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Event>;
    /**
     * Constructor for creating the widget
     * @param  {DropDownButtonModel} options?
     * @param  {string|HTMLButtonElement} element?
     */
    constructor(options?: DropDownButtonModel, element?: string | HTMLButtonElement);
    protected preRender(): void;
    /**
     * Get the properties to be maintained in the persisted state.
     * @returns string
     */
    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;
    private createPopup;
    private getTargetElement;
    private createItems;
    private hasIcon;
    private createAnchor;
    private initialize;
    private appendArrowSpan;
    protected setActiveElem(elem: HTMLElement[]): void;
    /**
     * Get component name.
     * @returns string
     * @private
     */
    getModuleName(): string;
    private canOpen;
    /**
     * Destroys the widget.
     * @returns void
     */
    destroy(): void;
    protected getPopUpElement(): HTMLElement;
    protected getULElement(): HTMLElement;
    protected wireEvents(): void;
    protected keyBoardHandler(e: base.KeyboardEventArgs): void;
    protected upDownKeyHandler(e: base.KeyboardEventArgs): void;
    private removeCustomSelection;
    private isValidLI;
    private keyEventHandler;
    private getLI;
    private mousedownHandler;
    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
     * @param  {DropDownButtonModel} oldProp
     * @returns void
     * @private
     */
    onPropertyChanged(newProp: DropDownButtonModel, oldProp: DropDownButtonModel): void;
    /**
     * Sets the focus to DropDownButton
     * its native method
     * @public
     */
    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.EJ2.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.EJ2.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;
    /**
     * Specifies a spinner and its related properties.
     */
    spinSettings?: SpinSettingsModel;
    /**
     * Specifies the animation settings.
     */
    animationSettings?: AnimationSettingsModel;
    /**
     * Triggers once the component rendering is completed.
     * @event
     * @blazorProperty 'Created'
     */
    created?: base.EmitType<Event>;
    /**
     * Triggers when the progress starts.
     * @event
     * @blazorProperty 'OnBegin'
     */
    begin?: base.EmitType<ProgressEventArgs>;
    /**
     * Triggers in specified intervals.
     * @event
     * @blazorProperty 'Progressing'
     */
    progress?: base.EmitType<ProgressEventArgs>;
    /**
     * Triggers when the progress is completed.
     * @event
     * @blazorProperty 'OnEnd'
     */
    end?: base.EmitType<ProgressEventArgs>;
    /**
     * Triggers when the progress is incomplete.
     * @event
     * @blazorProperty 'OnFailure'
     */
    fail?: base.EmitType<Event>;
}
//node_modules/@syncfusion/ej2-splitbuttons/src/progress-button/progress-button.d.ts
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.EJ2.SplitButtons.SpinPosition
     * @isEnumeration true
     */
    position: SpinPosition;
}
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.EJ2.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;
    /**
     * Specifies a spinner and its related properties.
     */
    spinSettings: SpinSettingsModel;
    /**
     * Specifies the animation settings.
     */
    animationSettings: AnimationSettingsModel;
    /**
     * Triggers once the component rendering is completed.
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Event>;
    /**
     * Triggers when the progress starts.
     * @event
     * @blazorProperty 'OnBegin'
     */
    begin: base.EmitType<ProgressEventArgs>;
    /**
     * Triggers in specified intervals.
     * @event
     * @blazorProperty 'Progressing'
     */
    progress: base.EmitType<ProgressEventArgs>;
    /**
     * Triggers when the progress is completed.
     * @event
     * @blazorProperty 'OnEnd'
     */
    end: base.EmitType<ProgressEventArgs>;
    /**
     * Triggers when the progress is incomplete.
     * @event
     * @blazorProperty 'OnFailure'
     */
    fail: base.EmitType<Event>;
    /**
     * Constructor for creating the widget
     * @param  {ProgressButtonModel} options?
     * @param  {string|HTMLButtonElement} 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 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
     * @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
     * @param  {ProgressButtonModel} oldProp
     * @returns void
     * @private
     */
    onPropertyChanged(newProp: ProgressButtonModel, oldProp: ProgressButtonModel): void;
    /**
     * Sets the focus to ProgressButton
     * its native method
     * @public
     */
    focusIn(): void;
}
export  type SpinPosition = 'Left' | 'Right' | 'Top' | 'Bottom' | 'Center';
export  type AnimationEffect = 'None' | 'SlideLeft' | 'SlideRight' | 'SlideUp' | 'SlideDown' | 'ZoomIn' | 'ZoomOut';
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 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
     * @blazorProperty 'OnItemRender'
     */
    beforeItemRender?: base.EmitType<MenuEventArgs>;
    /**
     * Triggers before opening the SplitButton popup.
     * @event
     * @blazorProperty 'OnOpen'
     */
    beforeOpen?: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before closing the SplitButton popup.
     * @event
     * @blazorProperty 'OnClose'
     */
    beforeClose?: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers when the primary button of SplitButton has been clicked.
     * @event
     * @blazorProperty 'Clicked'
     */
    click?: base.EmitType<ClickEventArgs>;
    /**
     * Triggers while closing the SplitButton popup.
     * @event
     * @blazorProperty 'Closed'
     */
    close?: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers while opening the SplitButton popup.
     * @event
     * @blazorProperty 'Opened'
     */
    open?: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers while selecting action item of SplitButton popup.
     * @event
     * @blazorProperty 'ItemSelected'
     */
    select?: base.EmitType<MenuEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     * @event
     * @blazorProperty '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 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
     * @blazorProperty 'OnItemRender'
     */
    beforeItemRender: base.EmitType<MenuEventArgs>;
    /**
     * Triggers before opening the SplitButton popup.
     * @event
     * @blazorProperty 'OnOpen'
     */
    beforeOpen: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before closing the SplitButton popup.
     * @event
     * @blazorProperty 'OnClose'
     */
    beforeClose: base.EmitType<BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers when the primary button of SplitButton has been clicked.
     * @event
     * @blazorProperty 'Clicked'
     */
    click: base.EmitType<ClickEventArgs>;
    /**
     * Triggers while closing the SplitButton popup.
     * @event
     * @blazorProperty 'Closed'
     */
    close: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers while opening the SplitButton popup.
     * @event
     * @blazorProperty 'Opened'
     */
    open: base.EmitType<OpenCloseMenuEventArgs>;
    /**
     * Triggers while selecting action item of SplitButton popup.
     * @event
     * @blazorProperty 'ItemSelected'
     */
    select: base.EmitType<MenuEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     * @event
     * @blazorProperty 'Created'
     */
    created: base.EmitType<Event>;
    /**
     * Constructor for creating the widget
     * @param  {SplitButtonModel} options?
     * @param  {string|HTMLButtonElement} element?
     */
    constructor(options?: SplitButtonModel, element?: string | HTMLButtonElement);
    /**
     * Initialize Angular support.
     * @private
     */
    protected preRender(): void;
    render(): void;
    private initWrapper;
    private createPrimaryButton;
    private createSecondaryButton;
    private setAria;
    /**
     * Get component name.
     * @returns string
     * @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
     * @param  {SplitButtonModel} oldProp
     * @returns void
     */
    onPropertyChanged(newProp: SplitButtonModel, oldProp: SplitButtonModel): void;
    /**
     * Sets the focus to SplitButton
     * its native method
     * @public
     */
    focusIn(): void;
}
export interface ClickEventArgs extends base.BaseEventArgs {
    element: Element;
}
/**
 * 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;
}
 }
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 
     */
    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;
    /* tslint:disable-next-line:no-any */
    libraryFormulas: any;
    /** @hidden */
    storedData: Map<string, FormulaInfo>;
    private keyToRowsMap;
    private rowsToKeyMap;
    /** @hidden */
    rightBracket: string;
    /** @hidden */
    leftBracket: string;
    private sheetToken;
    private emptyString;
    private leftBrace;
    private rightBrace;
    private cell;
    private cellPrefix;
    private treatEmptyStringAsZero;
    private parentObject;
    /** @hidden */
    tic: string;
    /** @hidden */
    singleTic: string;
    /** @hidden */
    trueValue: string;
    /** @hidden */
    falseValue: string;
    private parseDecimalSeparator;
    /** @hidden */
    arithMarker: string;
    /** @hidden */
    arithMarker2: string;
    private dependentCells;
    private dependentFormulaCells;
    minValue: number;
    maxValue: number;
    categoryCollection: 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
     */
    onFailure: base.EmitType<FailureEventArgs>;
    /**
     * base.Base constructor for creating Calculate library.
     */
    constructor(parent?: Object);
    /**
     * To get the argument separator to split the formula arguments.
     * @returns string
     */
    getParseArgumentSeparator(): string;
    /**
     * To set the argument separator to split the formula arguments.
     * @param {string} value - Argument separator based on the culture.
     * @returns void
     */
    setParseArgumentSeparator(value: string): void;
    /**
     * To get the date separator to split the date value.
     * @returns string
     */
    getParseDateTimeSeparator(): string;
    /**
     * To set whether the empty string is treated as zero or not.
     * @param {boolean} value
     * @returns boolean
     */
    setTreatEmptyStringAsZero(value: boolean): void;
    /**
     * To get whether the empty string is treated as zero or not.
     * @returns boolean
     */
    getTreatEmptyStringAsZero(): boolean;
    /**
     * To set the date separator to split the date value.
     * @param {string} value - Argument separator based on the culture.
     * @returns void
     */
    setParseDateTimeSeparator(value: string): void;
    /**
     * To provide the array of modules needed.
     * @hidden
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * Dynamically injects the required modules to the library.
     * @hidden
     */
    static Inject(...moduleList: Function[]): void;
    /**
     * Get injected modules
     * @hidden
     */
    getInjectedModules(): Function[];
    onPropertyChanged(newProp: CalculateModel, oldProp: CalculateModel): void;
    protected getModuleName(): string;
    /** @hidden */
    getFormulaCharacter(): string;
    /** @hidden */
    isUpperChar(text: string): boolean;
    private resetKeys;
    /**
     * @hidden
     */
    updateDependentCell(cellRef: string): void;
    /**
     * @hidden
     */
    getDependentCells(): Map<string, string[]>;
    /**
     * @hidden
     */
    getDependentFormulaCells(): Map<string, Map<string, string>>;
    /**
     * To get library formulas collection.
     * @returns Map<string, Function>
     */
    getLibraryFormulas(): Map<string, IFormulaColl>;
    /**
     * To get library function.
     * @param {string} libFormula - Library formula to get a corresponding function.
     * @returns Function
     */
    getFunction(libFormula: string): Function;
    getFormulaInfoTable(): Map<string, FormulaInfo>;
    /**
     * To get the formula text.
     * @private
     */
    private getFormula;
    /**
     * To get the formula text.
     * @returns void
     */
    getParseDecimalSeparator(): string;
    /**
     * To get the formula text.
     * @param {string} value - Specifies the decimal separator value.
     * @returns void
     */
    setParseDecimalSeparator(value: string): void;
    /** @hidden */
    getSheetToken(cellRef: string): string;
    /** @hidden */
    getSheetID(grd: Object): number;
    /** @hidden */
    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
     */
    rowIndex(cell: string): number;
    /**
     * To get the column index of the given cell.
     * @param {string} cell - Cell address for getting column index.
     * @returns number
     */
    colIndex(cell: string): number;
    /**
     * To get the valid error strings.
     * @hidden
     */
    getErrorStrings(): string[];
    /** @hidden */
    substring(text: string, startIndex: number, length?: number): string;
    /** @hidden */
    isChar(c: string): boolean;
    /** @hidden */
    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
     */
    setKeyValue(key: string, value: string | number): void;
    /**
     * @hidden
     */
    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
     */
    getKeyValue(key: string): string | number;
    /**
     * Adds a named range to the NamedRanges collection.
     * @param {string} name - Name of the named range.
     * @param {string} range - Range for the specified name.
     * @param {number} sheetIndex - Defined scope for the specified name. Default - Workbook scope.
     * @returns boolean
     */
    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
     */
    removeNamedRange(name: string): boolean;
    /** @hidden */
    convertAlpha(col: number): string;
    /** @hidden */
    getCellCollection(cellRange: string): string[] | string;
    /**
     * Compute the given formula.
     * @param {string} formulaText - Specifies to compute the given formula.
     * @returns string | number
     */
    computeFormula(formulaText: string): string | number;
    /** @hidden */
    computeSumIfAndAvgIf(range: string[]): number[] | string;
    /** @hidden */
    computeLookup(range: string[]): string;
    computeVLookup(range: string[]): string;
    findWildCardValue(lookVal: string, cellValue: string): string;
    /** @hidden */
    getComputeSumIfValue(criteriaRange: string[] | string, sumRange: string[] | string, criteria: string, checkCriteria: number, op: string): number[];
    /** @hidden */
    computeAndOr(args: string[], op: string): string;
    /** @hidden */
    removeTics(text: string): string;
    private computeValue;
    private getValArithmetic;
    /** @hidden */
    processLogical(stack: string[], operator: string): string;
    /** @hidden */
    computeStoreCells(sCell: StoredCellInfo): string[];
    computeIfsFormulas(range: string[], isCountIfs?: string, isAvgIfs?: string): string | number;
    private processNestedFormula;
    /** @hidden */
    isNaN(value: string | number): boolean;
    /** @hidden */
    fromOADate(doubleNumber: number): Date;
    /** @hidden */
    getSerialDateFromDate(year: number, month: number, day: number): number;
    /** @hidden */
    private toOADate;
    /** @hidden */
    calculateDate(date: string): string;
    /** @hidden */
    isTextEmpty(s: string): boolean;
    /** @hidden */
    isDigit(text: string): boolean;
    private findLastIndexOfq;
    /**
     * To get the exact value from argument.
     * @param {string} arg - Formula argument for getting a exact value.
     * @returns string
     */
    getValueFromArg(arg: string): string;
    private isDate;
    private isValidCellReference;
    /** @hidden */
    parseDate(date: any): any;
    /** @hidden */
    isCellReference(args: string): boolean;
    /** @hidden */
    setTokensForSheets(text: string): string;
    private getParentObjectCellValue;
    private getParentCellValue;
    /**
     * 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
     */
    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
     */
    defineFunction(formulaName: string, functionName: string | Function): 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.
     */
    valueChanged(grid: string, changeArgs: ValueChangedArgs, isCalculate?: boolean): void;
    /**
     * @hidden
     */
    setValueRowCol(value: number, formulaValue: string | number, row: number, col: number): void;
    private getSortedSheetNames;
    /** @hidden */
    getErrorLine(error: string): string;
    /** @hidden */
    createSheetFamilyID(): number;
    /** @hidden */
    computeMinMax(args: string[], operation: string): string;
    /** @hidden */
    calculateAvg(args: string[]): string;
    /**
     * @hidden
     */
    registerGridAsSheet(refName: string, model: Object | string, sheetFamilyID: number): string;
    /**
     * @hidden
     */
    unregisterGridAsSheet(refName: string, model: string | Object): void;
    private isSheetMember;
    /**
     * To dispose the calculate engine.
     * @returns void
     */
    dispose(): void;
    refresh(cellRef: 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
     */
    getFormulaText(): string;
    /**
     * @hidden
     */
    setFormulaText(value: string): void;
    /**
     * @hidden
     */
    getFormulaValue(): string | number;
    /**
     * @hidden
     */
    setFormulaValue(value: string | number): void;
    /**
     * @hidden
     */
    getParsedFormula(): string;
    /**
     * @hidden
     */
    setParsedFormula(value: string): void;
}
/** @hidden */
export  class CalcSheetFamilyItem {
    /**
     * @hidden
     */
    isSheetMember: boolean;
    /**
     * @hidden
     */
    parentObjectToToken: Map<Object, string>;
    /**
     * @hidden
     */
    sheetDependentCells: Map<string, 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
 */
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 */
    parse(text: string, fkey?: string): string;
    private exceptionArgs;
    private formulaAutoCorrection;
    private checkScopedRange;
    private storeStrings;
    private setStrings;
    /** @hidden */
    parseSimple(formulaText: string): string;
    /** @hidden */
    parseSimpleOperators(formulaText: string, markers: string[], operators: string[]): string;
    /** @hidden */
    indexOfAny(text: string, operators: string[]): number;
    /** @hidden */
    findLeftMarker(text: string): number;
    /** @hidden */
    findRightMarker(text: string): number;
    /** @hidden */
    parseFormula(formula: string, fKey?: string): string;
    /** @hidden */
    markLibraryFormulas(formula: string): string;
    /** @hidden */
    swapInnerParens(fSubstr: string): string;
    /** @hidden */
    addParensToArgs(fSubstr: string): string;
    /** @hidden */
    private lastIndexOfAny;
    /** @hidden */
    markNamedRanges(formula: string): string;
    /** @hidden */
    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
     */
    protected getModuleName(): string;
}
/**
 * To check whether the object is undefined.
 * @param {Object} value - To check the object is undefined
 * @return {boolean}
 * @private
 */
export  function isUndefined(value: Object): 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
}
//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.
 * @return {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 get the inner object
 * @param {any} value - Value that you need to set.
 * @param {any} obj - Object to get the inner object value.
 * @return {void}
 * @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
     * @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
     * @return {any}
     * @private
     */
    private createInstance;
    /**
     * To remove the created object while control is destroyed
     * @hidden
     */
    clean(): void;
    /**
     * Removes all unused modules
     * @param {ModuleDeclaration[]} moduleListName
     * @returns {void}
     */
    private clearUnusedModule;
    /**
     * To get the name of the member.
     * @param {string} name
     * @returns {string}
     */
    private getMemberName;
    /**
     * Delete an item from Object
     * @param {any} obj - Object in which we need to delete an item.
     * @param {string} params - String value to the get the inner object
     * @return {void}
     * @private
     */
    private deleteObject;
    /**
     * Returns boolean based on whether the module specified is loaded or not
     * @param {string} modName
     * @returns {boolean}
     */
    private isModuleLoaded;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/calculate/common/module.d.ts
/**
 * Represents the getModules function.
 * @param {Calculate} context
 */
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 */
    ComputeSUM(...args: string[]): string | number;
    /** @hidden */
    ComputeCOUNT(...args: string[]): number | string;
    /** @hidden */
    ComputeDATE(...args: string[]): Date | string;
    /** @hidden */
    ComputeFLOOR(...args: string[]): number | string;
    /** @hidden */
    ComputeCEILING(...args: string[]): number | string;
    /** @hidden */
    ComputeDAY(...serialNumber: string[]): number | string;
    /** @hidden */
    ComputeIF(...args: string[]): string | number;
    /** @hidden */
    ComputeIFERROR(...args: string[]): number | string;
    /** @hidden */
    ComputePRODUCT(...range: string[]): string | number;
    /** @hidden */
    ComputeDAYS(...range: string[]): number | string;
    /** @hidden */
    ComputeCHOOSE(...args: string[]): string | number;
    /** @hidden */
    ComputeSUMIF(...range: string[]): string | number;
    /** @hidden */
    ComputeABS(...absValue: string[]): string | number;
    /** @hidden */
    ComputeAVERAGE(...args: string[]): string;
    /** @hidden */
    ComputeAVERAGEIF(...range: string[]): string | number;
    /** @hidden */
    ComputeCONCATENATE(...range: string[]): string;
    /** @hidden */
    ComputeCONCAT(...range: string[]): string;
    /** @hidden */
    ComputeMAX(...args: string[]): string;
    /** @hidden */
    ComputeMIN(...args: string[]): string;
    /** @hidden */
    ComputeRAND(...args: string[]): string;
    /** @hidden */
    ComputeAND(...args: string[]): string;
    /** @hidden */
    ComputeOR(...args: string[]): string;
    /** @hidden */
    ComputeFIND(...args: string[]): string | number;
    /** @hidden */
    ComputeINDEX(...range: string[]): string | number;
    /** @hidden */
    ComputeIFS(...range: string[]): string | number;
    /** @hidden */
    ComputeCOUNTA(...args: string[]): number | string;
    /** @hidden */
    ComputeAVERAGEA(...args: string[]): number | string;
    /** @hidden */
    ComputeCOUNTIF(...args: string[]): number | string;
    /** @hidden */
    ComputeSUMIFS(...range: string[]): string | number;
    /** @hidden */
    ComputeCOUNTIFS(...args: string[]): number | string;
    /** @hidden */
    ComputeAVERAGEIFS(...args: string[]): number | string;
    /** @hidden */
    ComputeMATCH(...args: string[]): string | number;
    /** @hidden */
    ComputeLOOKUP(...range: string[]): string | number;
    /** @hidden */
    ComputeVLOOKUP(...range: string[]): string | number;
    /** @hidden */
    ComputeSUBTOTAL(...range: string[]): string | number;
    /** @hidden */
    ComputeRADIANS(...range: string[]): string | number;
    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 RibbonItem
 */
export interface RibbonItemModel {
    /**
     * The object used for configuring the navigations.Tab item header properties.
     * @default {}
     */
    header?: navigations.HeaderModel;
    /**
     * 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;
    /**
     * Sets true to disable user interactions of the navigations.Tab item.
     * @default 'navigations.Tab'
     */
    type?: RibbonItemType;
    /**
     * Specifies the sub menu items that is the array of navigations.MenuItem model.
     * @default []
     */
    menuItems?: navigations.MenuItemModel[];
}
/**
 * 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;
    /**
     * An array of object that is used to configure the navigations.Tab component.
     * @default []
     */
    items?: RibbonItemModel[];
    /**
     * Triggers while selecting the tab item.
     * @event
     */
    selecting?: base.EmitType<navigations.SelectingEventArgs>;
    /**
     * Triggers while selecting the file menu item.
     * @event
     */
    fileItemSelect?: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers before opening the file menu.
     * @event
     */
    beforeOpen?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before closing the file menu.
     * @event
     */
    beforeClose?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers format dropdown items gets selected.
     * @event
     * @hidden
     */
    selectFormat?: base.EmitType<dropdowns.SelectEventArgs>;
    /**
     * Triggers while clicking the ribbon content elements.
     * @event
     */
    clicked?: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     * @event
     */
    created?: base.EmitType<Event>;
    /**
     * Triggers once the component rendering is completed.
     * @event
     */
    expandCollapse?: base.EmitType<ExpandCollapseEventArgs>;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/ribbon/ribbon.d.ts
export  type RibbonItemType = 'Tab' | 'Menu' | 'Sidebar';
/**
 * An array of object that is used to configure the Tab.
 */
export  class RibbonItem extends base.ChildProperty<RibbonItem> {
    /**
     * The object used for configuring the Tab item header properties.
     * @default {}
     */
    header: navigations.HeaderModel;
    /**
     * Specifies the content of Tab item, that is displayed when concern item header is selected.
     * @default ''
     */
    content: navigations.ItemModel[];
    /**
     * 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 true to disable user interactions of the Tab item.
     * @default 'Tab'
     */
    type: RibbonItemType;
    /**
     * Specifies the sub menu items that is the array of MenuItem model.
     * @default []
     */
    menuItems: navigations.MenuItemModel[];
}
/**
 * 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;
    private tabObj;
    /**
     * Defines class/multiple classes separated by a space in the Spreadsheet element.
     * @default ""
     */
    cssClass: string;
    /**
     * An array of object that is used to configure the Tab component.
     * @default []
     */
    items: RibbonItemModel[];
    /**
     * Triggers while selecting the tab item.
     * @event
     */
    selecting: base.EmitType<navigations.SelectingEventArgs>;
    /**
     * Triggers while selecting the file menu item.
     * @event
     */
    fileItemSelect: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers before opening the file menu.
     * @event
     */
    beforeOpen: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before closing the file menu.
     * @event
     */
    beforeClose: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers format dropdown items gets selected.
     * @event
     * @hidden
     */
    selectFormat: base.EmitType<dropdowns.SelectEventArgs>;
    /**
     * Triggers while clicking the ribbon content elements.
     * @event
     */
    clicked: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Triggers once the component rendering is completed.
     * @event
     */
    created: base.EmitType<Event>;
    /**
     * Triggers once the component rendering is completed.
     * @event
     */
    expandCollapse: base.EmitType<ExpandCollapseEventArgs>;
    /**
     * Constructor for creating the widget.
     * @param  {RibbonModel} options?
     * @param  {string|HTMLDivElement} element?
     */
    constructor(options?: RibbonModel, element?: string | HTMLDivElement);
    /**
     * For internal use only.
     * @returns void
     * @private
     */
    protected preRender(): void;
    /**
     * For internal use only.
     * @returns void
     * @private
     */
    protected render(): void;
    /**
     * Destroys the component (detaches/removes all event handlers, attributes, classes, and empties the component element).
     * @method destroy
     * @return {void}
     */
    destroy(): void;
    private getTabItems;
    private initMenu;
    private renderRibbon;
    private ribbonExpandCollapse;
    /**
     * Enables or disables the specified Ribbon items or all ribbon items.
     * @param  {boolean} enable  - Boolean value that determines whether the command should be enabled or disabled.
     * @param  {HTMLElement} items - DOM element or an array of items to be enabled or disabled.
     * By default, `isEnable` is set to true.
     * @returns void.
     */
    enableItems(enable: boolean, items?: HTMLElement): void;
    /**
     * Get component name.
     * @returns string
     * @private
     */
    getModuleName(): string;
    /**
     * Get the properties to be maintained in the persisted state.
     * @returns string
     * @private
     */
    getPersistData(): string;
    /**
     * Called internally if any of the property value changed.
     * @param  {RibbonModel} newProp
     * @param  {RibbonModel} oldProp
     * @returns void
     * @private
     */
    onPropertyChanged(newProp: RibbonModel, oldProp: RibbonModel): void;
    private destroyComponent;
}
//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;
    private row;
    constructor(parent: Spreadsheet);
    private applyCellFormat;
    private updateRowHeight;
    private isHeightCheckNeeded;
    private getRowHeightOnInit;
    private addEventListener;
    private removeEventListener;
    /**
     * Destroy cell format module.
     */
    destroy(): void;
    /**
     * 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;
    constructor(parent: Spreadsheet);
    private init;
    private addEventListener;
    private removeEventListener;
    private ribbonClickHandler;
    private tabSwitchHandler;
    private cMenuBeforeOpenHandler;
    private rowHeightChanged;
    private cut;
    private copy;
    private paste;
    private setCell;
    private getEmptyStyle;
    private getCopiedIdx;
    private setCopiedInfo;
    private clearCopiedInfo;
    private initCopyIndicator;
    private showDialog;
    private hidePaste;
    private setExternalCells;
    private getExternalCells;
    private getStyle;
    private getClipboardEle;
    protected getModuleName(): string;
    destroy(): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/edit.d.ts
/**
 * The `Edit` module is used to handle the editing functionalities in Spreadsheet.
 */
export  class Edit {
    private parent;
    private editorElem;
    private editCellData;
    private isEdit;
    private isCellEdit;
    private isNewValueEdit;
    private keyCodes;
    /**
     * Constructor for edit module in Spreadsheet.
     * @private
     */
    constructor(parent: Spreadsheet);
    private init;
    /**
     * To destroy the edit module.
     * @return {void}
     * @hidden
     */
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    /**
     * Get the module name.
     * @returns string
     * @private
     */
    getModuleName(): string;
    private performEditOperation;
    private keyUpHandler;
    private keyDownHandler;
    private renderEditor;
    private refreshEditor;
    private startEdit;
    private setCursorPosition;
    private hasFormulaSuggSelected;
    private editingHandler;
    private mouseDownHandler;
    private dblClickHandler;
    private updateEditCellDetail;
    private initiateEditor;
    private positionEditor;
    private updateEditedValue;
    private refreshDependentCellValue;
    private getRefreshNodeArgs;
    endEdit(refreshFormulaBar?: boolean): void;
    cancelEdit(refreshFormulaBar?: boolean, trigEvent?: boolean): void;
    private focusElement;
    private triggerEvent;
    private altEnter;
    private resetEditState;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/actions/index.d.ts
/**
 *
 */
//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
     */
    constructor(parent: Spreadsheet);
    private addEventListener;
    private removeEventListener;
    private keyDownHandler;
    private scrollNavigation;
    private getBottomIdx;
    private getRightIdx;
    /**
     * For internal use only - Get the module name.
     * @private
     */
    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.
     * @private
     */
    constructor(parent: Spreadsheet);
    private addEventListener;
    private removeEventListener;
    private keyDownHandler;
    private getModuleName;
    destroy(): void;
}
//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;
    private onScroll;
    private prevScroll;
    private offset;
    private topIndex;
    private leftIndex;
    private initScrollValue;
    /**
     * Constructor for the Spreadsheet scroll module.
     * @private
     */
    constructor(parent: Spreadsheet);
    /**
     * For internal use only - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    private onContentScroll;
    private updateNonVirtualRows;
    private updateNonVirtualCols;
    private updateTopLeftCell;
    private getRowOffset;
    private getColOffset;
    private wireEvents;
    private initProps;
    private getThreshold;
    /**
     * @hidden
     */
    setPadding(): void;
    private addEventListener;
    destroy(): void;
    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;
    /**
     * Constructor for the Spreadsheet selection module.
     * @private
     */
    constructor(parent: Spreadsheet);
    private addEventListener;
    private removeEventListener;
    private rowHeightChanged;
    private selectRange;
    private init;
    private createSelectionElement;
    private mouseDownHandler;
    private mouseMoveHandler;
    private mouseUpHandler;
    private isSelected;
    private virtualContentLoadedHandler;
    private clearInterval;
    private getScrollContent;
    private cellNavigateHandler;
    private getColIdxFromClientX;
    private getRowIdxFromClientY;
    private selectRangeByIdx;
    private UpdateRowColSelected;
    private updateActiveCell;
    private getSelectionElement;
    private getActiveCell;
    private getSheetElement;
    private highlightHdr;
    private getHdrIndexes;
    /**
     * For internal use only - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    destroy(): void;
}
//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);
    getModuleName(): string;
    private createVirtualElement;
    private initScroll;
    private setScrollCount;
    private getAddress;
    private getColAddress;
    private updateScrollCount;
    private onVerticalScroll;
    private checkLastIdx;
    private onHorizontalScroll;
    private getThresholdHeight;
    private getThresholdWidth;
    private translate;
    private updateColumnWidth;
    private updateUsedRange;
    private createHeaderElement;
    private getVTrackHeight;
    private updateVTrackHeight;
    private updateVTrack;
    private deInitProps;
    private updateScrollProps;
    private sliceScrollProps;
    private addEventListener;
    destroy(): void;
    private removeEventListener;
}
//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;
    /**
     * 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, pager, 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;
    /**
     * 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?: 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?: 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?: 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?: 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?: 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?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before closing the file menu.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       fileMenuBeforeClose: (args: navigations.BeforeOpenCloseMenuEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     * @event
     */
    fileMenuBeforeClose?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers when the context menu item is selected.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       contextMenuItemSelect: (args: MenuSelectArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     * @event
     */
    contextMenuItemSelect?: base.EmitType<MenuSelectArgs>;
    /**
     * Triggers when the file menu item is selected.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       fileItemSelect: (args: MenuSelectArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     * @event
     */
    fileItemSelect?: base.EmitType<MenuSelectArgs>;
    /**
     * Triggers before the data is populated to the worksheet.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeDataBound: (args: Object) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     * @event
     */
    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?: base.EmitType<Object>;
    /**
     * Triggers when the cell is being edited.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       cellEdit: (args: CellEditEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     * @event
     */
    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?: base.EmitType<CellEditEventArgs>;
    /**
     * Triggers when the edited cell is saved.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       cellSave: (args: CellSaveEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     * @event
     */
    cellSave?: base.EmitType<CellSaveEventArgs>;
    /**
     * Triggers when the component is created.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       created: (args: base.Event) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     * @event
     */
    created?: base.EmitType<Event>;
}
//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;
    /**
     * 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, pager, 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;
    /**
     * 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: 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: 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: 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: 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: 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: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers before closing the file menu.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       fileMenuBeforeClose: (args: navigations.BeforeOpenCloseMenuEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     * @event
     */
    fileMenuBeforeClose: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers when the context menu item is selected.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       contextMenuItemSelect: (args: MenuSelectArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     * @event
     */
    contextMenuItemSelect: base.EmitType<MenuSelectArgs>;
    /**
     * Triggers when the file menu item is selected.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       fileItemSelect: (args: MenuSelectArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     * @event
     */
    fileItemSelect: base.EmitType<MenuSelectArgs>;
    /**
     * Triggers before the data is populated to the worksheet.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       beforeDataBound: (args: Object) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     * @event
     */
    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: base.EmitType<Object>;
    /**
     * Triggers when the cell is being edited.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       cellEdit: (args: CellEditEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     * @event
     */
    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: base.EmitType<CellEditEventArgs>;
    /**
     * Triggers when the edited cell is saved.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       cellSave: (args: CellSaveEventArgs) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     * @event
     */
    cellSave: base.EmitType<CellSaveEventArgs>;
    /**
     * Triggers when the component is created.
     * ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *       created: (args: Event) => {
     *       }
     *      ...
     *  }, '#Spreadsheet');
     * ```
     * @event
     */
    created: base.EmitType<Event>;
    /** @hidden */
    isOpen: boolean;
    /** @hidden */
    isEdit: boolean;
    /** @hidden */
    serviceLocator: ServiceLocator;
    /** @hidden */
    renderModule: Render;
    /** @hidden */
    scrollModule: Scroll;
    /** @hidden */
    sheetModule: IRenderer;
    /** @hidden */
    viewport: IViewport;
    protected needsID: boolean;
    /**
     * 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.
     * @returns HTMLElement
     * @hidden
     */
    getCell(rowIndex: number, colIndex: number): HTMLElement;
    /**
     * Get cell element.
     * @returns HTMLTableRowElement
     * @hidden
     */
    getRow(rowIndex: number, table?: HTMLTableElement): HTMLTableRowElement;
    /**
     * To initialize the services;
     * @returns void
     * @hidden
     */
    protected preRender(): void;
    private initServices;
    /**
     * To Initialize the component rendering.
     * @returns void
     * @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.
     * @return {void}
     */
    showSpinner(): void;
    /**
     * To hide showed spinner manually.
     * @return {void}
     */
    hideSpinner(): void;
    /**
     * Selection will navigates to the specified cell address in active sheet.
     * @param {string} address - Specifies the cell address which needs to navigate.
     */
    goTo(address: string): void;
    /**
     * This method is used to resize the Spreadsheet component.
     */
    resize(): void;
    /**
     * To cut the specified cell or cells properties such as value, format, style etc...
     * @param {string} address - Specifies the range address to cut.
     */
    cut(address?: string): void;
    /**
     * To copy the specified cell or cells properties such as value, format, style etc...
     * @param {string} address - Specifies the range address.
     */
    copy(address?: string): void;
    /**
     * This method is used to paste the cut or copied cells in to specified address.
     * @param {string} address - Specifies the cell or range address.
     * @param {PasteSpecialType} type - Specifies the type of paste.
     */
    paste(address?: string, type?: PasteSpecialType): void;
    private setHeight;
    private setWidth;
    /** @hidden */
    setPanelSize(): void;
    /**
     * Opens the Excel file.
     * @param {OpenOptions} options - Options for opening the excel file.
     */
    open(options: OpenOptions): void;
    /**
     * Gets the row header div of the Spreadsheet.
     * @return {Element}
     * @hidden
     */
    getRowHeaderContent(): HTMLElement;
    /**
     * Gets the column header div of the Spreadsheet.
     * @return {Element}
     * @hidden
     */
    getColumnHeaderContent(): Element;
    /**
     * Gets the main content div of the Spreadsheet.
     * @return {Element}
     * @hidden
     */
    getMainContent(): Element;
    /**
     * Get the main content table element of spreadsheet.
     * @return {HTMLTableElement}
     * @hidden
     */
    getContentTable(): HTMLTableElement;
    /**
     * Get the row header table element of spreadsheet.
     * @return {HTMLTableElement}
     * @hidden
     */
    getRowHeaderTable(): HTMLTableElement;
    /**
     * Get the column header table element of spreadsheet.
     * @return {HTMLTableElement}
     * @hidden
     */
    getColHeaderTable(): HTMLTableElement;
    /**
     * Gets the Cell index in the Spreadsheet.
     * @return {Element}
     * @hidden
     */
    getCellIndex(cell: Element): number[];
    /**
     * To get the backup element count for row and column virtualization.
     * @hidden
     */
    getThreshold(layout: string): number;
    /** @hidden */
    isMobileView(): boolean;
    /** @hidden */
    getValueRowCol(sheetIndex: number, rowIndex: number, colIndex: number): string | number;
    /** @hidden */
    setValueRowCol(sheetIndex: number, value: string | number, rowIndex: number, colIndex: number): void;
    /**
     * Get component name.
     * @returns string
     * @hidden
     */
    getModuleName(): string;
    /** @hidden */
    setRowHeight(sheetIndex: number, rowIndex: number, height: number): void;
    /** @hidden */
    refreshNode(td: Element, args?: RefreshValueArgs): void;
    private mouseClickHandler;
    private mouseDownHandler;
    private keyUpHandler;
    private keyDownHandler;
    /**
     * 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).
     */
    destroy(): void;
    /**
     * Unbinding events from the element while component destroy.
     */
    private unwireEvents;
    /**
     * To add context menu items.
     * @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.
     */
    addContextMenuItems(items: navigations.MenuItemModel[], text: string, insertAfter?: boolean, isUniqueId?: boolean): void;
    /**
     * To remove existing context menu items.
     * @param {string[]} items - Items that needs to be removed.
     * @param {boolean} isUniqueId - Set `true` if the given `text` is a unique id.
     */
    removeContextMenuItems(items: string[], isUniqueId?: boolean): void;
    /**
     * To enable / disable context 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 `text` is a unique id.
     */
    enableContextMenuItems(items: string[], enable?: boolean, isUniqueId?: boolean): void;
    /**
     * Selects the cell / range of cells with specified address.
     * @param {string} address - Specifies the range address.
     */
    selectRange(address: string): void;
    /**
     * Start edit the active cell.
     * @return {void}
     */
    startEdit(): void;
    /**
     * Cancels the edited state, this will not update any value in the cell.
     * @return {void}
     */
    closeEdit(): void;
    /**
     * If Spreadsheet is in editable state, you can save the cell by invoking endEdit.
     * @return {void}
     */
    endEdit(): void;
    /**
     * Called internally if any of the property value changed.
     * @param  {SpreadsheetModel} newProp
     * @param  {SpreadsheetModel} oldProp
     * @returns void
     * @hidden
     */
    onPropertyChanged(newProp: SpreadsheetModel, oldProp: SpreadsheetModel): void;
    /**
     * To provide the array of modules needed for component rendering.
     * @return {base.ModuleDeclaration[]}
     * @hidden
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * Appends the control within the given HTML Div element.
     * @param {string | HTMLElement} selector - Target element where control needs to be appended.
     */
    appendTo(selector: string | HTMLElement): 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
     */
    protected getModuleName(): string;
    /**
     * Destroys the Spreadsheet all module.
     * @return {void}
     */
    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.
     * @private
     */
    protected getModuleName(): string;
    /**
     * Destroys the Spreadsheet basic module.
     * @return {void}
     */
    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 locale: string;
/** @hidden */
export  const dialog: string;
/** @hidden */
export  const fontColor: {
    [key: string]: string[];
};
/** @hidden */
export  const fillColor: {
    [key: string]: string[];
};
/**
 * Default locale text
 * @hidden
 */
export  let 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';
//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 dataRefresh: string;
/** @hidden */
export  const initialLoad: 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 selectionComplete: string;
/** @hidden */
export  const cMenuBeforeOpen: string;
/** @hidden */
export  const addSheetTab: string;
/** @hidden */
export  const removeSheetTab: string;
/** @hidden */
export  const renameSheetTab: string;
/** @hidden */
export  const ribbonClick: string;
/** @hidden */
export  const refreshRibbon: string;
/** @hidden */
export  const enableRibbonItems: 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 beforeRibbonCreate: string;
/** @hidden */
export  const rowHeightChanged: string;
/** @hidden */
export  const beforeHeaderLoaded: string;
/** @hidden */
export  const onContentScroll: string;
/** @hidden */
export  const deInitProperties: string;
/** @hidden */
export  const activeSheetChanged: string;
/** @hidden */
export  const renameSheet: string;
/** @hidden */
export  const enableToolbar: 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;
    renderPanel(): void;
    getRowHeaderPanel(): Element;
    getColHeaderPanel(): Element;
    getContentPanel(): Element;
    getContentTable(): HTMLTableElement;
    getColHeaderTable(): HTMLTableElement;
    getRowHeaderTable(): HTMLTableElement;
    renderTable(cells: Map<string, CellModel>, rowIdx: number, colIdx: number, lastIdx: number, top?: number, left?: number): void;
    refreshRowContent(cells: Map<string, CellModel>, startIndex: number, lastIdx: number): void;
    refreshColumnContent(cells: Map<string, CellModel>, rowIndex: number, colIndex: number, lastIdx: number): void;
    updateRowContent(cells: Map<string, CellModel>, startIndex: number, lastIdx: number, direction: string): void;
    updateColContent(cells: Map<string, CellModel>, rowIdx: number, colIdx: number, lastIdx: number, direction: string): void;
    showHideHeaders(): void;
}
export interface CellRenderEventArgs {
    /** Defines the cell. */
    cell: CellModel;
    /** Defines the cell element. */
    element: HTMLElement;
    /** Defines the cell address. */
    address: string;
}
export interface StyleType {
    element: Element;
    attrs: {
        [key: string]: Object;
    };
}
/**
 * @hidden
 */
export interface IViewport {
    rowCount: number;
    colCount: number;
    topIndex: number;
    leftIndex: number;
    height: number;
    width: 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(isHeader: boolean, index?: number): Element;
}
/**
 * @hidden
 */
export interface ICellRenderer {
    renderColHeader(index: number): Element;
    renderRowHeader(index: number): Element;
    render(args: CellRenderArgs): Element;
    refreshRange(range: number[]): void;
}
/**
 * @hidden
 */
export interface RefreshArgs {
    rowIndex?: number;
    colIndex?: number;
    direction?: string;
    top?: number;
    left?: number;
    refresh: RefreshType;
}
export interface OpenOptions {
    file?: FileList | string;
}
export interface BeforeOpenEventArgs {
    file: FileList | string;
    cancel: boolean;
    requestData: object;
}
/**
 * MenuSelectArgs
 */
export interface MenuSelectArgs extends navigations.MenuEventArgs {
    cancel: boolean;
}
export interface OpenFailureArgs {
    status: string;
    statusText: string;
    stack?: string;
    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 CellStyleExtendedModel extends CellStyleModel {
    properties: CellStyleModel;
}
/** @hidden */
export interface CellRenderArgs {
    colIdx: number;
    rowIdx?: number;
    cell?: CellModel;
    address?: string;
    lastCell?: boolean;
    row?: HTMLElement;
    hRow?: HTMLElement;
    isHeightCheckNeeded?: boolean;
}
export interface CellEditEventArgs {
    value: string;
    oldValue: string;
    element: HTMLElement;
    address: string;
    cancel: boolean;
}
export interface CellSaveEventArgs {
    value: string;
    oldValue: string;
    element: HTMLElement;
    address: string;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/common/module.d.ts
/**
 * To get Spreadsheet required modules.
 * @hidden
 * @param {Spreadsheet} context
 */
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
 * @return {Promise<T>}
 * @hidden
 */
export  function getUpdateUsingRaf(fn: Function): void;
/**
 * The function used to remove the dom element children.
 * @param  parent -
 * @hidden
 */
export  function removeAllChildren(parent: Element, index?: number): void;
/**
 * The function used to remove the dom element children.
 * @param  parent -
 * @hidden
 */
export  function getColGroupWidth(index: number): number;
/** @hidden */
export  function getScrollBarWidth(): number;
/** @hidden */
export  function getSiblingsHeight(element: HTMLElement, classList?: string[]): number;
/**
 * @hidden
 */
export  function inView(context: Spreadsheet, range: number[], isModify?: boolean): boolean;
/**
 * Position element with given range
 * @hidden
 */
export  function locateElem(ele: Element, range: number[], sheet: SheetModel): void;
/**
 * To update element styles using request animation frame
 * @hidden
 */
export  function setStyleAttribute(styles: StyleType[]): void;
/**
 * @hidden
 */
export  function getStartEvent(): string;
/**
 * @hidden
 */
export  function getMoveEvent(): string;
/**
 * @hidden
 */
export  function getEndEvent(): string;
/**
 * @hidden
 */
export  function isTouchStart(e: Event): boolean;
/**
 * @hidden
 */
export  function isTouchMove(e: Event): boolean;
/**
 * @hidden
 */
export  function isTouchEnd(e: Event): boolean;
/**
 * @hidden
 */
export  function getClientX(e: TouchEvent & MouseEvent): number;
/**
 * @hidden
 */
export  function getClientY(e: MouseEvent & TouchEvent): number;
/** @hidden */
export interface IAriaOptions<T> {
    role?: string;
    selected?: T;
    multiselectable?: T;
    busy?: T;
    colcount?: string;
}
/** @hidden */
export  function setAriaOptions(target: HTMLElement, options: IAriaOptions<boolean>): void;
/**
 * @hidden
 */
export  function destroyComponent(element: HTMLElement, component: Object): void;
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/index.d.ts
/**
 * Export Spreadsheet viewer modules
 */
//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;
    constructor(parent: Spreadsheet);
    private render;
    private updateSelectedColor;
    private wireFocusEvent;
    private openHandler;
    private beforeCloseHandler;
    private beforeModeSwitch;
    private destroy;
    private destroyColorPicker;
    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.
     */
    constructor(parent: Spreadsheet);
    private init;
    private initContextMenu;
    /**
     * Before close event handler.
     */
    private beforeCloseHandler;
    /**
     * Select event handler.
     */
    private selectHandler;
    /**
     * Before open event handler.
     */
    private beforeOpenHandler;
    /**
     * To get target area based on right click.
     */
    private getTarget;
    /**
     * To populate context menu items based on target area.
     */
    private getDataSource;
    private setClipboardData;
    /**
     * To add event listener.
     */
    private addEventListener;
    /**
     * To add context menu items before / after particular item.
     */
    private addItemsHandler;
    /**
     * To remove context menu items.
     */
    private removeItemsHandler;
    /**
     * To enable / disable context menu items.
     */
    private enableItemsHandler;
    /**
     * To remove event listener.
     */
    private removeEventListener;
    /**
     * To get module name.
     */
    protected getModuleName(): string;
    /**
     * Destroy method.
     */
    protected destroy(): void;
}
//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;
    constructor(parent: Spreadsheet);
    getModuleName(): string;
    private createFormulaBar;
    private textAreaFocusIn;
    private textAreaFocusOut;
    private keyDownHandler;
    private keyUpHandler;
    private nameBoxBeforeOpen;
    private nameBoxBlur;
    private nameBoxSelect;
    private formulaBarUpdateHandler;
    private UpdateValueAfterMouseUp;
    private updateComboBoxValue;
    private clickHandler;
    private toggleFormulaBar;
    private dialogOpen;
    private dialogClose;
    private dialogBeforeClose;
    private selectFormula;
    private listSelected;
    private updateFormulaList;
    private dropDownSelect;
    private focusOkButton;
    private activeListFormula;
    private updateFormulaDescription;
    private formulaClickHandler;
    private addEventListener;
    destroy(): void;
    private removeEventListener;
    private editOperationHandler;
    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;
    private argumentSeparator;
    private keyCodes;
    autocompleteInstance: dropdowns.AutoComplete;
    /**
     * Constructor for formula module in Spreadsheet.
     * @private
     */
    constructor(parent: Spreadsheet);
    /**
     * Get the module name.
     * @returns string
     * @private
     */
    getModuleName(): string;
    /**
     * To destroy the formula module.
     * @return {void}
     * @hidden
     */
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    private performFormulaOperation;
    private renderAutoComplete;
    private onSuggestionOpen;
    private onSuggestionClose;
    private onSelect;
    private onSuggestionComplete;
    private keyUpHandler;
    private keyDownHandler;
    private clickHandler;
    private refreshFormulaSuggestion;
    private endEdit;
    private hidePopUp;
    private getSuggestionKeyFromFormula;
    private getPopupPosition;
    private getEditingValue;
    private isNavigationKey;
    private triggerKeyDownEvent;
    private getArgumentSeparator;
    private getNames;
    private getNameFromRange;
    private addDefinedName;
}
//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;
    /**
     * Adding event listener for number format.
     * @hidden
     */
    addEventListener(): void;
    /**
     * Removing event listener for number format.
     * @hidden
     */
    removeEventListener(): 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;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/integrations/open.d.ts
/**
 * Open properties.
 */
export  class Open {
    private parent;
    constructor(parent: Spreadsheet);
    /**
     * Adding event listener for success and failure
     */
    private addEventListener;
    /**
     * 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.
     */
    private fileSelect;
    /**
     * File open success event declaration.
     * @param {string} response - File open success response text.
     */
    private openSuccess;
    /**
     * File open failure event declaration.
     * @param {object} args - Open failure arguments.
     */
    private openFailed;
    /**
     * To Remove the event listeners.
     */
    destroy(): void;
    /**
     * 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 fontNameIndex;
    private numPopupWidth;
    private activeTab;
    constructor(parent: Spreadsheet);
    getModuleName(): string;
    private initRibbon;
    private getRibbonItems;
    private getPasteBtn;
    private getLocaleText;
    private createRibbon;
    private tabSelecting;
    private ribbonCreated;
    private alignItemRender;
    private toggleBtnClicked;
    private getCellStyleValue;
    private refreshSelected;
    private expandCollapseHandler;
    private getNumFormatDdbItems;
    private getFontFamilyItems;
    private enableToolbar;
    private numDDBSelect;
    private tBarDdbBeforeOpen;
    private numDDBOpen;
    private previewNumFormat;
    private refreshRibbonContent;
    private refreshFirstTabContent;
    private refreshFontNameSelection;
    private refreshNumFormatSelection;
    private fileItemSelect;
    private toolbarClicked;
    private updateToggleText;
    private refreshThirdTabContent;
    private updateShowHideBtn;
    private enableRibbonItems;
    private createMobileView;
    private renderMobileToolbar;
    private fileMenuBeforeOpen;
    private fileMenuBeforeClose;
    private addEventListener;
    destroy(): void;
    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
     */
    constructor(parent: Spreadsheet);
    /**
     * To destroy the Save module.
     * @return {void}
     * @hidden
     */
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    /**
     * Get the module name.
     * @returns string
     * @private
     */
    getModuleName(): string;
    /**
     * Initiate save process.
     * @hidden
     */
    private initiateSave;
    /**
     * Save action completed.
     * @hidden
     */
    private saveCompleted;
}
//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;
    constructor(parent: Spreadsheet);
    getModuleName(): string;
    private createSheetTabs;
    private updateDropDownItems;
    private beforeOpenHandler;
    private openHandler;
    private getSheetTabItems;
    private refreshSheetTab;
    private addSheetTab;
    private updateSheetTab;
    private switchSheetTab;
    private renameSheetTab;
    private updateWidth;
    private renameInputFocusOut;
    private removeRenameInput;
    private showRenameDialog;
    private focusRenameInput;
    private removeSheetTab;
    private destroySheet;
    private addEventListener;
    destroy(): void;
    private removeEventListener;
}
//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;
    constructor(parent?: Spreadsheet);
    renderColHeader(index: number): Element;
    renderRowHeader(index: number): Element;
    render(args: CellRenderArgs): Element;
    private updateCell;
    /** @hidden */
    refreshRange(range: number[]): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/renderer/index.d.ts
/**
 * Export 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;
    refreshUI(args?: RefreshArgs, address?: string): void;
    private removeSheet;
    /**
     * Refresh the active sheet
     */
    refreshSheet(): void;
    private getAddress;
    /**
     * Used to set sheet panel size.
     */
    setSheetPanelSize(): void;
    private roundValue;
    /**
     * Registing the renderer related services.
     */
    private instantiateRenderer;
    /**
     * Destroy the Render module.
     * @return {void}
     */
    destroy(): void;
    private addEventListener;
    private removeEventListener;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/renderer/row.d.ts
/**
 * Sheet module is used for creating row element
 * @hidden
 */
export  class RowRenderer implements IRowRenderer {
    private parent;
    private element;
    constructor(parent?: Spreadsheet);
    render(isHeader: boolean, index?: number): Element;
}
//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;
    private contentPanel;
    private col;
    private rowRenderer;
    private cellRenderer;
    private freezePane;
    colGroupWidth: number;
    constructor(parent?: Spreadsheet);
    private refreshSelectALLContent;
    private updateLeftColGroup;
    private detachColGroup;
    renderPanel(): void;
    private initHeaderPanel;
    createTable(): void;
    private createHeaderTable;
    private updateTable;
    /**
     * It is used to refresh the select all, row header, column header and content table contents.
     */
    renderTable(cells: Map<string, CellModel>, rowIdx: number, colIdx: number, lastIdx: number, top?: number, left?: number): void;
    refreshColumnContent(cells: Map<string, CellModel>, rowIndex: number, colIndex: number, lastIdx: number): void;
    refreshRowContent(cells: Map<string, CellModel>, startIndex: number, lastIdx: number): void;
    private updateCol;
    updateColContent(cells: Map<string, CellModel>, rowIdx: number, colIdx: number, lastIdx: number, direction: string): void;
    updateRowContent(cells: Map<string, CellModel>, startIndex: number, lastIdx: number, direction: string): void;
    /**
     * Used to toggle row and column headers.
     */
    showHideHeaders(): void;
    private renderHeaders;
    private updateHideHeaders;
    /**
     * Get the select all table element of spreadsheet
     * @return {HTMLElement}
     */
    private getSelectAllContent;
    /**
     * Get the select all table element of spreadsheet
     * @return {Element}
     */
    private getSelectAllTable;
    /**
     * Get the column header element of spreadsheet
     * @return {HTMLTableElement}
     */
    getColHeaderTable(): HTMLTableElement;
    /**
     * Get the row header table element of spreadsheet
     * @return {HTMLTableElement}
     */
    getRowHeaderTable(): HTMLTableElement;
    /**
     * Get the main content table element of spreadsheet
     * @return {Element}
     */
    getContentTable(): HTMLTableElement;
    /**
     * Get the row header div element of spreadsheet
     * @return {Element}
     */
    getRowHeaderPanel(): Element;
    /**
     * Get the column header div element of spreadsheet
     * @return {Element}
     */
    getColHeaderPanel(): Element;
    /**
     * Get the main content div element of spreadsheet
     * @return {Element}
     */
    getContentPanel(): Element;
}
//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.
     */
    constructor(parent: Spreadsheet);
    /**
     * To show dialog.
     */
    show(dialogModel: popups.DialogModel): void;
    /**
     * To hide dialog.
     */
    hide(): void;
    /**
     * To clear private variables.
     */
    destroy(): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/services/index.d.ts
/**
 * Export Spreadsheet Services
 */
//node_modules/@syncfusion/ej2-spreadsheet/src/spreadsheet/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/actions/cell-format.d.ts
/**
 * Workbook Cell format.
 */
export  class WorkbookCellFormat {
    private parent;
    constructor(parent: Workbook);
    private format;
    private textDecorationActionUpdate;
    private addEventListener;
    private removeEventListener;
    /**
     * To destroy workbook cell format.
     */
    destroy(): void;
    /**
     * Get the workbook cell format 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;
    /**
     * Constructor for edit module in Workbook.
     * @private
     */
    constructor(workbook: Workbook);
    /**
     * To destroy the edit module.
     * @return {void}
     * @hidden
     */
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    /**
     * Get the module name.
     * @returns string
     * @private
     */
    getModuleName(): string;
    private performEditOperation;
    private updateCellValue;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/actions/index.d.ts
/**
 * Export Workbook action modules
 */
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/base/cell-model.d.ts
/**
 * Interface for a class Cell
 */
export interface CellModel {
    /**
     * Defines the value of the cell which can be text or number with formatting.
     * @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;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/base/cell.d.ts
/**
 * Represents the cell.
 */
export  class Cell extends base.ChildProperty<RowModel> {
    /**
     * Defines the value of the cell which can be text or number with formatting.
     * @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;
}
/**
 * @hidden
 */
export  function getCell(rowIndex: number, colIndex: number, sheet: SheetModel, isInitRow?: boolean): CellModel;
/**
 * @hidden
 */
export  function setCell(rowIndex: number, colIndex: number, sheet: SheetModel, cell: CellModel, isExtend?: boolean): void;
/**
 * @hidden
 */
export  function getCellPosition(sheet: SheetModel, indexes: number[]): {
    top: number;
    left: number;
};
/** @hidden */
export  function skipDefaultValue(style: CellStyleModel, defaultKey?: boolean): CellStyleModel;
//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;
}
//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;
}
/**
 * @hidden
 */
export  function getColumn(sheet: SheetModel, colIndex: number): ColumnModel;
/**
 * @hidden
 */
export  function getColumnWidth(sheet: SheetModel, index: number): number;
/**
 * @hidden
 */
export  function getColumnsWidth(sheet: SheetModel, startCol: number, endCol?: number): number;
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/base/data.d.ts
/**
 * Update data source to Sheet and returns Sheet
 * @hidden
 */
export  function getData(context: Workbook, address: string): Promise<Map<string, CellModel>>;
/**
 * @hidden
 */
export  function getModel(model: (SheetModel | RowModel | CellModel)[], idx: number): SheetModel | RowModel | CellModel;
/**
 * @hidden
 */
export  function processIdx(model: (SheetModel | RowModel | CellModel)[], isSheet?: true, context?: Workbook): void;
/**
 * @hidden
 */
export  function clearRange(context: Workbook, address: string, sheetIdx: number, valueOnly: boolean): 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;
}
//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;
}
/**
 * @hidden
 */
export  function getRow(sheet: SheetModel, rowIndex: number): RowModel;
/**
 * @hidden
 */
export  function getRowHeight(sheet: SheetModel, rowIndex: number): number;
/**
 * @hidden
 */
export  function setRowHeight(sheet: SheetModel, rowIndex: number, height: number): void;
/**
 * @hidden
 */
export  function getRowsHeight(sheet: SheetModel, startRow: number, endRow?: number): number;
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/base/sheet-model.d.ts
/**
 * Interface for a class RangeSetting
 */
export interface RangeSettingModel {
    /**
     * 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;
}
/**
 * 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 []
     */
    rows?: RowModel[];
    /**
     * Configures column and its properties for the sheet.
     * @default []
     */
    columns?: ColumnModel[];
    /**
     * Specifies the range settings for the sheet.
     * @default []
     */
    rangeSettings?: RangeSettingModel[];
    /**
     * 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'
     */
    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;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/base/sheet.d.ts
/**
 * Configures the Range settings for the spreadsheet.
 *  ```html
 * <div id='Spreadsheet'></div>
 * ```
 * ```typescript
 * let spreadsheet$: Spreadsheet = new Spreadsheet({
 *      sheets: [{
 *                  name: 'First Sheet',
 *                  rangeSettings: [{ dataSource: defaultData }],
 *                  rows: [{
 *                          index: 30,
 *                          cells: [{ index: 4, value: 'Total Amount:' },
 *                                  { formula: '=SUM(F2:F30)', style: { fontWeight: 'bold' } }]
 *                  }]
 * ...
 * });
 * spreadsheet.appendTo('#Spreadsheet');
 * ```
 */
export  class RangeSetting 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;
}
/**
 * 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<Workbook> {
    /**
     * Represents sheet unique id.
     * @default 0
     * @hidden
     */
    id: number;
    /**
     * Configures row and its properties for the sheet.
     * @default []
     */
    rows: RowModel[];
    /**
     * Configures column and its properties for the sheet.
     * @default []
     */
    columns: ColumnModel[];
    /**
     * Specifies the range settings for the sheet.
     * @default []
     */
    rangeSettings: RangeSettingModel[];
    /**
     * 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'
     */
    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;
}
/**
 * To get sheet index from address.
 * @hidden
 */
export  function getSheetIndex(context: Workbook, name: string): number;
/**
 * To get sheet index from address.
 * @hidden
 */
export  function getSheetIndexFromId(context: Workbook, id: number): number;
/**
 * To get sheet name from address.
 * @hidden
 */
export  function getSheetNameFromAddress(address: string): string;
/**
 * update selected range
 * @hidden
 */
export  function updateSelectedRange(context: Workbook, range: string, sheet?: SheetModel): void;
/**
 * get selected range
 * @hidden
 */
export  function getSelectedRange(sheet: SheetModel): string;
/**
 * @hidden
 */
export  function getSheet(context: Workbook, idx: number): SheetModel;
/**
 * @hidden
 */
export  function getSheetNameCount(context: Workbook): number;
/**
 * @hidden
 */
export  function getMaxSheetId(sheets: SheetModel[]): number;
/**
 * @hidden
 */
export  function initSheet(context: Workbook): void;
/**
 * get sheet name
 * @hidden
 */
export  function getSheetName(context: Workbook, idx?: number): string;
//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',
     *                  rangeSettings: [{ 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 tab in workbook.
     *  ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      activeSheetTab: 2
     * ...
     *  }, '#Spreadsheet');
     * ```
     * @default 1
     * @asptype int
     */
    activeSheetTab?: 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;
    /**
     * 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 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;
    /**
     * 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 name for a range and uses it in formula for calculation.
     *  ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      ...
     *      definedNames: [{ name: 'namedRange1', refersTo: '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?: 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?: 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?: 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?: 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?: base.EmitType<BeforeCellFormatArgs>;
}
//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',
     *                  rangeSettings: [{ 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 tab in workbook.
     *  ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      activeSheetTab: 2
     * ...
     *  }, '#Spreadsheet');
     * ```
     * @default 1
     * @asptype int
     */
    activeSheetTab: 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;
    /**
     * 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 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;
    /**
     * 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 name for a range and uses it in formula for calculation.
     *  ```html
     * <div id='Spreadsheet'></div>
     * ```
     * ```typescript
     * new Spreadsheet({
     *      ...
     *      definedNames: [{ name: 'namedRange1', refersTo: '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: 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: 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: 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: 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: base.EmitType<BeforeCellFormatArgs>;
    /** @hidden */
    commonCellStyle: CellStyleModel;
    /**
     * To generate sheet name based on sheet count.
     * @hidden
     */
    sheetNameCount: number;
    /**
     * Constructor for initializing the library.
     * @param options - Configures Workbook model.
     */
    constructor(options: WorkbookModel);
    /**
     * For internal use only.
     * @returns void
     * @hidden
     */
    protected preRender(): void;
    /**
     * For internal use only.
     * @returns void
     * @hidden
     */
    protected render(): void;
    /**
     * To provide the array of modules needed for workbook.
     * @return {base.ModuleDeclaration[]}
     * @hidden
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * Get the properties to be maintained in the persisted state.
     * @returns string
     * @hidden
     */
    getPersistData(): string;
    /**
     * Applies the style (font family, font weight, background color, etc...) to the specified range of cells.
     * @param {CellStyleModel} style - Specifies the cell style.
     * @param {string} range? - Specifies the address for the range of cells.
     */
    cellFormat(style: CellStyleModel, range?: string): void;
    /** @hidden */
    getCellStyleValue(cssProps: string[], indexes: number[]): CellStyleModel;
    /**
     * Applies the number format (number, currency, percentage, short date, etc...) to the specified range of cells.
     * @param {string} format - Specifies the number format code.
     * @param {string} range? - Specifies the address for the range of cells.
     */
    numberFormat(format: string, range?: string): void;
    /**
     * Used to create new sheet.
     * @hidden
     */
    createSheet(index?: number): void;
    /**
     * Used to remove sheet.
     * @hidden
     */
    removeSheet(idx: number): void;
    /**
     * Destroys the Workbook library.
     */
    destroy(): void;
    /**
     * Called internally if any of the property value changed.
     * @param  {WorkbookModel} newProp
     * @param  {WorkbookModel} oldProp
     * @returns void
     * @hidden
     */
    onPropertyChanged(newProp: WorkbookModel, oldProp: WorkbookModel): void;
    /**
     * Not applicable for workbook.
     * @hidden
     */
    appendTo(selector: string | HTMLElement): void;
    private initEmptySheet;
    /** @hidden */
    getActiveSheet(): SheetModel;
    /**
     * Used for setting the used range row and column index.
     * @hidden
     */
    setUsedRange(rowIdx: number, colIdx: number): void;
    /** @hidden */
    getRangeData(cellIndexes: number[], sheetIdx?: number): string | number;
    /**
     * Gets the range of data as JSON from the specified address.
     * @param {string} address - Specifies the address for range of cells.
     */
    getData(address: string): Promise<Map<string, CellModel>>;
    /**
     * Get component name.
     * @returns string
     * @hidden
     */
    getModuleName(): string;
    /** @hidden */
    getValueRowCol(sheetIndex: number, rowIndex: number, colIndex: number): string | number;
    /** @hidden */
    setValueRowCol(sheetIndex: number, value: string | number, rowIndex: number, colIndex: number): void;
    /**
     * Opens the specified excel file or stream.
     * @param {OpenOptions} options - Options for opening the excel file.
     */
    open(options: OpenOptions): void;
    /**
     * Saves the Spreadsheet data to Excel file.
     * @param {SaveOptions} saveOptions - Options for saving the excel file.
     */
    save(saveOptions?: SaveOptions): void;
    /**
     * Adds the defined name to the Spreadsheet.
     * @param {DefineNameModel} definedName - Specifies the name.
     * @return {boolean} - Return the added status of the defined name.
     */
    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.
     * @return {boolean} - Return the removed status of the defined name.
     */
    removeDefinedName(definedName: string, scope?: string): boolean;
    /** @hidden */
    clearRange(address?: string, sheetIndex?: number, valueOnly?: boolean): void;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/address.d.ts
/**
 * To get range indexes.
 */
export  function getRangeIndexes(range: string): number[];
/**
 * To get single cell indexes
 */
export  function getCellIndexes(address: string): number[];
/**
 * 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.
 */
export  function getRangeAddress(range: number[]): string;
/**
 * To get column header cell text
 */
export  function getColumnHeaderText(colIndex: number): string;
/**
 * @hidden
 */
export  function getIndexesFromAddress(address: string): number[];
/**
 * @hidden
 */
export  function getRangeFromAddress(address: string): string;
/**
 * Given range will be swapped/arranged in increasing order.
 * @hidden
 */
export  function getSwapRange(range: number[]): number[];
/**
 * @hidden
 */
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
     */
    protected getModuleName(): string;
    /**
     * Destroys the Workbook all module.
     * @return {void}
     */
    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
     */
    protected getModuleName(): string;
    /**
     * Destroys the Workbook basic module.
     * @return {void}
     */
    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'
     */
    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;
}
/**
 * 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;
}
//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'
     */
    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;
}
/**
 * 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;
}
//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' | 'Courier' | 'Courier New' | 'Din Condensed' | 'Georgia' | 'Helvetica' | 'Helvetica New' | 'Roboto' | 'Tahoma' | 'Times New Roman' | 'Verdana';
/**
 * Specifies the number format types in Spreadsheet.
 */
export  enum NumberFormatType {
    General = "General",
    Number = "Number",
    Currency = "Currency",
    Accounting = "Accounting",
    ShortDate = "ShortDate",
    LongDate = "LongDate",
    Time = "Time",
    Percentage = "Percentage",
    Fraction = "Fraction",
    Scientific = "Scientific",
    Text = "Text"
}
/**
 * Specifies the option for save file type from Spreadsheet. By default, Excel save will be occur.
 */
export  type SaveType = 'Xlsx' | 'Xls' | 'Csv';
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/event.d.ts
/**
 * Specifies Workbook internal events.
 */
/** @hidden */
export  const workbookDestroyed: string;
/** @hidden */
export  const workbookOpen: string;
/** @hidden */
export  const beginSave: 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 textDecorationUpdate: string;
/** @hidden */
export  const applyCellFormat: string;
/** @hidden */
export  const updateUsedRange: 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;
//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;
}
export interface BeforeSaveEventArgs extends SaveOptions {
    customParams: Object;
    isFullPost: boolean;
    needBlobData: boolean;
    cancel: boolean;
}
export interface SaveCompleteEventArgs extends SaveOptions {
    blobData: Blob;
    status: string;
    message: string;
}
/** @hidden */
export interface CellFormatArgs {
    style: CellStyleModel;
    rowIdx: number;
    colIdx: number;
    cell?: HTMLElement;
    row?: HTMLElement;
    hRow?: HTMLElement;
    lastCell?: boolean;
    isHeightCheckNeeded?: boolean;
    manualUpdate?: boolean;
    onActionUpdate?: boolean;
}
/**
 * @hidden
 */
export interface ExtendedSheet extends Sheet {
    isLocalData?: boolean;
}
/**
 * Specifies before cell formatting arguments.
 */
export interface BeforeCellFormatArgs {
    range: number[];
    value: string;
    format: string;
    requestType: string;
    cancel?: boolean;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/math.d.ts
/**
 * @hidden
 */
export  function toFraction(val: number): string;
/**
 * @hidden
 */
export  function getGcd(a: string | number, b: string | number): number;
/**
 * @hidden
 */
export  function intToDate(val: number): Date;
/**
 * @hidden
 */
export  function dateToInt(val: any, isTime?: boolean): number;
/**
 * @hidden
 */
export  function isDateTime(date: any): boolean;
/**
 * @hidden
 */
export  function isNumber(val: string | number): boolean;
/**
 * @hidden
 */
export  function toDate(text: Date | string | number, intl: base.Internationalization): ToDateArgs;
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
 */
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 text
 */
export  function checkIsFormula(text: string): boolean;
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/common/worker.d.ts
/**
 * 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
     */
    constructor(context: Object, task: Function | {
        [key: string]: Function | string[];
    }, defaultListener: Function, taskData?: Object[], preventCallback?: boolean);
    /**
     * To terminate the worker task.
     * @private
     */
    terminate(): void;
    /**
     * To initiate the worker.
     * @private
     */
    private initWorker;
    /**
     * Method for getting response from worker.
     * @private
     */
    private messageFromWorker;
    /**
     * Method for getting error message from worker if failed.
     * @private
     */
    private onError;
    /**
     * Construct function code for worker.
     * @private
     */
    private getFnCode;
    /**
     * Get default worker task with callback.
     * @private
     */
    private getCallbackMessageFn;
    /**
     * Get default worker task without callback.
     * @private
     */
    private getMessageFn;
}
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/index.d.ts
/**
 * Export Spreadsheet library modules
 */
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/integrations/data-bind.d.ts
/**
 * Data binding module
 */
export  class DataBind {
    private parent;
    constructor(parent: Workbook);
    private addEventListener;
    /**
     * Destroys the Data binding module.
     * @return {void}
     */
    destroy(): void;
    private removeEventListener;
    /**
     * Update given data source to sheet.
     */
    private updateSheetFromDataSourceHandler;
    private getCellDataFromProp;
    private checkDataForFormat;
    private getLoadedInfo;
    private getMaxCount;
    private initRangeInfo;
    /**
     * Remove old data from sheet.
     */
    private dataSourceChangedHandler;
    /**
     * For internal use only - Get the module name.
     * @private
     */
    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;
    calculateInstance: Calculate;
    /**
     * Constructor for formula module in Workbook.
     * @private
     */
    constructor(workbook: Workbook);
    private init;
    /**
     * To destroy the formula module.
     * @return {void}
     * @hidden
     */
    destroy(): void;
    private addEventListener;
    private removeEventListener;
    /**
     * Get the module name.
     * @returns string
     * @private
     */
    getModuleName(): string;
    private initCalculate;
    private performFormulaOperation;
    private registerSheet;
    private unRegisterSheet;
    private refreshCalculate;
    private autoCorrectFormula;
    private initiateDefinedNames;
    /**
     * @hidden
     * Used to add defined name to workbook.
     * @param {DefineNameModel} name - Define named range.
     */
    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.
     */
    private removeDefinedName;
    private checkIsNameExist;
    private getIndexFromNameColl;
}
//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;
    constructor(parent: Spreadsheet);
    /**
     * @private
     */
    private numberFormatting;
    /**
     * @hidden
     */
    getFormattedCell(args: {
        [key: string]: string | number | boolean | CellModel;
    }): string;
    private processFormats;
    private autoDetectGeneralFormat;
    private findSuffix;
    private applyNumberFormat;
    private currencyFormat;
    private percentageFormat;
    private accountingFormat;
    private shortDateFormat;
    private longDateFormat;
    private timeFormat;
    private scientificFormat;
    private fractionFormat;
    private findDecimalPlaces;
    checkDateFormat(args: {
        [key: string]: string | number | boolean | CellModel;
    }): void;
    private formattedBarText;
    /**
     * Adding event listener for number format.
     */
    addEventListener(): void;
    /**
     * Removing event listener for number format.
     */
    removeEventListener(): void;
    /**
     * To Remove the event listeners.
     */
    destroy(): void;
    /**
     * Get the workbook number format 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.
 */
export  function getFormatFromType(type: string): string;
/**
 * @hidden
 */
export  function getTypeFromFormat(format: string): string;
//node_modules/@syncfusion/ej2-spreadsheet/src/workbook/integrations/open.d.ts
export  class WorkbookOpen {
    private parent;
    constructor(parent: Spreadsheet);
    /**
     * To open the excel file stream or excel url into the spreadsheet.
     * @param {OpenOptions} options - Options to open a excel file.
     */
    open(options: OpenOptions): void;
    private fetchFailure;
    private fetchSuccess;
    private updateModel;
    /**
     * Adding event listener for workbook open.
     */
    addEventListener(): void;
    /**
     * Removing event listener workbook open.
     */
    removeEventListener(): void;
    /**
     * To Remove the event listeners
     */
    destroy(): void;
    /**
     * Get the workbook open 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;
    /**
     * Constructor for WorkbookSave module in Workbook library.
     * @private
     */
    constructor(parent: Workbook);
    /**
     * Get the module name.
     * @returns string
     * @private
     */
    getModuleName(): string;
    /**
     * To destroy the WorkbookSave module.
     * @return {void}
     * @hidden
     */
    destroy(): void;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    /**
     * Initiate save process.
     * @hidden
     */
    private initiateSave;
    /**
     * Update save JSON with basic settings.
     * @hidden
     */
    private updateBasicSettings;
    /**
     * Process sheets properties.
     * @hidden
     */
    private processSheets;
    /**
     * Update processed sheet data.
     * @hidden
     */
    private updateSheet;
    private getSheetLength;
    /**
     * Save process.
     * @hidden
     */
    private save;
    /**
     * Update final save data.
     * @hidden
     */
    private updateSaveResult;
    private ClientFileDownload;
    private initiateFullPostSave;
    /**
     * Get stringified workbook object.
     * @hidden
     */
    private getStringifyObject;
    private getFileNameWithExtension;
    private getFileExtension;
}
//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
     */
    constructor(parent: Workbook);
    /**
     * Process sheet.
     * @hidden
     */
    protected processSheet(sheet: string, sheetIndex: number): Object;
    /**
     * Process save action.
     * @hidden
     */
    protected processSave(saveJSON: Object, saveSettings: SaveOptions | {
        [key: string]: string;
    }, customParams: Object): 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
     * @return {HTMLCanvasElement}
     */
    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
     * @return {void}
     */
    setCanvasSize(width: number, height: number): void;
    private setAttributes;
    /**
     * To draw a line
     * @param {LineAttributes} options - required options to draw a line on the canvas
     * @return {void}
     */
    drawLine(options: LineAttributes): void;
    /**
     * To draw a rectangle
     * @param {RectAttributes} options - required options to draw a rectangle on the canvas
     * @return {void}
     */
    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
     * @return {void}
     */
    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
     * @return {void}
     */
    createText(options: TextAttributes, label: string, transX?: number, transY?: number): Element;
    /**
     * To draw circle on the canvas
     * @param {CircleAttributes} options - required options to draw the circle
     * @return {void}
     */
    drawCircle(options: CircleAttributes, canvasTranslate?: Int32Array): Element;
    /**
     * To draw polyline
     * @param {PolylineAttributes} options - options needed to draw polyline
     * @return {void}
     */
    drawPolyline(options: PolylineAttributes): void;
    /**
     * To draw an ellipse on the canvas
     * @param {EllipseAttributes} options - options needed to draw ellipse
     * @return {void}
     */
    drawEllipse(options: EllipseAttributes, canvasTranslate?: Int32Array): void;
    /**
     * To draw an image
     * @param {ImageAttributes} options - options required to draw an image on the canvas
     * @return {void}
     */
    drawImage(options: ImageAttributes): void;
    /**
     * To create a linear gradient
     * @param {string[]} colors - Specifies the colors required to create linear gradient
     * @return {string}
     */
    createLinearGradient(colors: GradientColor[]): string;
    /**
     * To create a radial gradient
     * @param {string[]} colors - Specifies the colors required to create linear gradient
     * @return {string}
     */
    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
     * @return {HTMLElement}
     */
    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
     * @return {void}
     */
    updateCanvasAttributes(options: SVGCanvasAttributes): void;
    /**
     * This method clears the given rectangle region
     * @param options
     */
    clearRect(rect: Rect): void;
    /**
     * For canvas rendering in chart
     * Dummy method for using canvas/svg render in the same variable name in chart control
     * @param {BaseAttibutes} options - Options needed to create group
     * @return {Element}
     */
    createGroup(options: BaseAttibutes): Element;
    /**
     * To render a clip path
     * Dummy method for using canvas/svg render in the same variable name in chart control
     * @param {BaseAttibutes} options - Options required to render a clip path
     * @return {Element}
     */
    drawClipPath(options: BaseAttibutes): Element;
    /**
     * Clip method to perform clip in canvas mode
     * @param options
     */
    canvasClip(options: BaseAttibutes): void;
    /**
     * Tp restore the canvas
     * @param options
     */
    canvasRestore(): void;
    /**
     * To draw a polygon
     * Dummy method for using canvas/svg render in the same variable name in chart control
     * @param {PolylineAttributes} options - Options needed to draw a polygon in SVG
     * @return {Element}
     */
    drawPolygon(options: PolylineAttributes): Element;
    /**
     * To create defs element in SVG
     * Dummy method for using canvas/svg render in the same variable name in chart control
     * @return {Element}
     */
    createDefs(): Element;
    /**
     * To create clip path in SVG
     * Dummy method for using canvas/svg render in the same variable name in chart control
     * @param {BaseAttibutes} options - Options needed to create clip path
     * @return {Element}
     */
    createClipPath(options: BaseAttibutes): Element;
    /**
     * To create a Html5 SVG element
     * Dummy method for using canvas/svg render in the same variable name in chart control
     * @param {SVGAttributes} options - Options to create SVG
     * @return {Element}
     */
    createSvg(options: SVGAttributes): 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
     */
    className?: 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;
}
//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
     * @return {Element}
     */
    createSvg(options: SVGAttributes): Element;
    private setSVGSize;
    /**
     * To draw a path
     * @param {PathAttributes} options - Options to draw a path in SVG
     * @param {Int32Array} canvasTranslate - Used as dummy variable for canvas rendering
     * @return {Element}
     */
    drawPath(options: PathAttributes, canvasTranslate?: Int32Array): Element;
    /**
     * To draw a line
     * @param {LineAttributes} options - Options to draw a line in SVG
     * @return {Element}
     */
    drawLine(options: LineAttributes): Element;
    /**
     * To draw a rectangle
     * @param {BaseAttibutes} options - Required options to draw a rectangle in SVG
     * @return {Element}
     */
    drawRectangle(options: RectAttributes, canvasTranslate?: Int32Array): Element;
    /**
     * To draw a circle
     * @param {CircleAttributes} options - Required options to draw a circle in SVG
     * @return {Element}
     */
    drawCircle(options: CircleAttributes): Element;
    /**
     * To draw a polyline
     * @param {PolylineAttributes} options - Options required to draw a polyline
     * @return {Element}
     */
    drawPolyline(options: PolylineAttributes): Element;
    /**
     * To draw an ellipse
     * @param {EllipseAttributes} options - Options required to draw an ellipse
     * @return {Element}
     */
    drawEllipse(options: EllipseAttributes): Element;
    /**
     * To draw a polygon
     * @param {PolylineAttributes} options - Options needed to draw a polygon in SVG
     * @return {Element}
     */
    drawPolygon(options: PolylineAttributes): Element;
    /**
     * To draw an image
     * @param {ImageAttributes} options - Required options to draw an image in SVG
     * @return {Element}
     */
    drawImage(options: ImageAttributes): Element;
    /**
     * To draw a text
     * @param {TextAttributes} options - Options needed to draw a text in SVG
     * @return {Element}
     */
    createText(options: TextAttributes, label: string, transX?: number, transY?: number): 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
     * @return {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
     * @return {Element}
     */
    createTitle(text: string): Element;
    /**
     * To create defs element in SVG
     * @return {Element}
     */
    createDefs(): Element;
    /**
     * To create clip path in SVG
     * @param {BaseAttibutes} options - Options needed to create clip path
     * @return {Element}
     */
    createClipPath(options: BaseAttibutes): Element;
    /**
     * To create foreign object in SVG
     * @param {BaseAttibutes} options - Options needed to create foreign object
     * @return {Element}
     */
    createForeignObject(options: BaseAttibutes): Element;
    /**
     * To create group element in SVG
     * @param {BaseAttibutes} options - Options needed to create group
     * @return {Element}
     */
    createGroup(options: BaseAttibutes): Element;
    /**
     * To create pattern in SVG
     * @param {PatternAttributes} options - Required options to create pattern in SVG
     * @param {string} type - Specifies the name of the pattern
     * @return {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[]} colorStop - Specifies the colorstop required to create radial gradient
     * @param {string} name - Specifies the name of the gradient
     * @param {RadialGradient} options - value for radial gradient
     * @return {string}
     */
    createRadialGradient(colors: GradientColor[], name: string, options: RadialGradient): string;
    /**
     * To create linear gradient in SVG
     * @param {string[]} colors - Array of string specifies the values for color
     * @param {string[]} colors - Array of string specifies the values for colorStop
     * @param {string} name - Specifies the name of the gradient
     * @param {LinearGradient} options - Specifies the options for gradient
     * @return {string}
     */
    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
     * @param {string[]} colorStop - Array of string specifies the values for colorStop
     * @return {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
     * @return {Element}
     */
    drawClipPath(options: BaseAttibutes): Element;
    /**
     * To create circular clip path in SVG
     * @param {CircleAttributes} options - Options required to create circular clip path
     * @return {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
     * @return {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
     * @param {BaseAttibutes} options - Options to create canvas
     * @return {HTMLCanvasElement}
     */
    createCanvas(options: BaseAttibutes): 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';
/**
 * 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';
//node_modules/@syncfusion/ej2-svg-base/src/tooltip/helper.d.ts
/**
 * 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: TextStyleModel): Size;
/** @private */
export  function findDirection(rX: number, rY: number, rect: Rect, arrowLocation: TooltipLocation, arrowPadding: number, top: boolean, bottom: boolean, left: boolean, tipX: number, tipY: number, tipRadius?: number): 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;
}
/**
 * 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 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;
    /**
    * 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;
    /**
     * Triggers before each axis range is rendered.
     * @event
     * @private.
     */
    tooltipRender?: base.EmitType<ITooltipRenderingEventArgs>;
    /**
     * Triggers after chart load.
     * @event
     * @private.
     */
    loaded?: base.EmitType<ITooltipLoadedEventArgs>;
    /**
     * Triggers after chart load.
     * @event
     * @private.
     */
    animationComplete?: base.EmitType<ITooltipAnimationCompleteArgs>;
}
//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;
}
/**
 * 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 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;
    /**
     * 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;
    /**
     * Triggers before each axis range is rendered.
     * @event
     * @private.
     */
    tooltipRender: base.EmitType<ITooltipRenderingEventArgs>;
    /**
     * Triggers after chart load.
     * @event
     * @private.
     */
    loaded: base.EmitType<ITooltipLoadedEventArgs>;
    /**
     * Triggers after chart load.
     * @event
     * @private.
     */
    animationComplete: base.EmitType<ITooltipAnimationCompleteArgs>;
    private elementSize;
    private toolTipInterval;
    private padding;
    private textElements;
    private templateFn;
    private formattedText;
    private markerPoint;
    /** @private */
    private valueX;
    /** @private */
    private valueY;
    private tipRadius;
    fadeOuted: boolean;
    /** @private */
    private renderer;
    /** @private */
    private themeStyle;
    private isFirst;
    /**
     * 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 createTemplate;
    private sharedTooltipLocation;
    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.
     * @return {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/column-menu.d.ts
/**
 * TreeGrid ColumnMenu module
 * @hidden
 */
export  class ColumnMenu {
    private parent;
    /**
     * Constructor for render module
     */
    constructor(parent?: TreeGrid);
    getColumnMenu(): HTMLElement;
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     * @private
     */
    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
     */
    protected getModuleName(): string;
    /**
     * Destroys the ContextMenu.
     * @method destroy
     * @return {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
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    private contextMenuOpen;
    private contextMenuClick;
    /**
     * For internal use only - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * Destroys the ContextMenu.
     * @method destroy
     * @return {void}
     */
    destroy(): void;
    /**
     * Gets the context menu element from the TreeGrid.
     * @return {Element}
     */
    getContextMenu(): Element;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/crud-actions.d.ts
/**
 * crud-actions.ts file
 */
export  function editAction(details: {
    value: ITreeData;
    action: string;
}, control: TreeGrid, isSelfReference: boolean, addRowIndex: number, selectedIndex: number, columnName?: string, addRowRecord?: ITreeData): 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;
};
export  function removeChildRecords(childRecords: ITreeData[], modifiedData: object, action: string, key: string, control: TreeGrid, isSelfReference: boolean, originalData?: ITreeData, columnName?: string): boolean;
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
     */
    protected getModuleName(): string;
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    private dataBoundArg;
    private childRowExpand;
    private rowExpandCollapse;
    private detaildataBound;
    private actioncomplete;
    /**
     * Destroys the DetailModule.
     * @method destroy
     * @return {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 addRowIndex;
    private addRowRecord;
    private isOnBatch;
    private keyPress;
    private selectedIndex;
    private doubleClickTarget;
    private internalProperties;
    private previousNewRowPosition;
    /**
     * Constructor for Edit module
     */
    constructor(parent: TreeGrid);
    /**
     * For internal use only - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * @hidden
     */
    addEventListener(): void;
    private gridDblClick;
    private gridSingleClick;
    private beforeStartEdit;
    private beforeBatchCancel;
    /**
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the editModule
     * @return {void}
     * @hidden
     */
    destroy(): void;
    /**
     * @hidden
     */
    applyFormValidation(cols?: grids.Column[]): void;
    private editActionEvents;
    private recordDoubleClick;
    private updateGridEditMode;
    private keyPressed;
    private deleteUniqueID;
    private cellEdit;
    private enableToolbarItems;
    private batchCancel;
    private cellSave;
    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.
     * @return {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.
     * @return {boolean}
     */
    editFormValidate(): boolean;
    /**
     * @hidden
     */
    destroyForm(): void;
    private contentready;
    /**
     * If the row index and field is given, edits the particular cell in a row.
     * @return {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;
    /**
     * Constructor for Excel Export module
     */
    constructor(parent?: TreeGrid);
    /**
     * For internal use only - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * To destroy the Excel Export
     * @return {void}
     * @hidden
     */
    destroy(): void;
    /**
     * @hidden
     */
    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
     * @hidden
     */
    private excelQueryCellInfo;
    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
     */
    constructor(parent?: TreeGrid);
    /**
     * For internal use only - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * To destroy the Filter module
     * @return {void}
     * @hidden
     */
    destroy(): void;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    /**
     * Function to update filtered records
     *  @hidden
     */
    private updatedFilteredRecord;
    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
     */
    constructor(parent?: TreeGrid);
    addEventListener(): void;
    removeEventListener(): void;
    private rowExpandCollapse;
    private dblClickHandler;
    private dataBoundArg;
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     * @private
     */
    private getModuleName;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/actions/index.d.ts
/**
 * actions export
 */
//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
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    /**
     * For internal use only - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * Refreshes the page count, pager information, and external message.
     * @return {void}
     */
    refresh(): void;
    /**
     * To destroy the pager
     * @return {void}
     * @hidden
     */
    destroy(): void;
    /**
     * Navigates to the target page according to the given number.
     * @param  {number} pageNo - Defines the page number to navigate.
     * @return {void}
     */
    goToPage(pageNo: number): void;
    /**
     * Defines the text of the external message.
     * @param  {string} message - Defines the message to update.
     * @return {void}
     */
    updateExternalMessage(message: string): void;
    /**
     * @hidden
     */
    private collapseExpandPagedchilds;
    private pageRoot;
    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
     */
    constructor(parent?: TreeGrid);
    /**
     * For internal use only - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the PDF Export
     * @return {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
     * @hidden
     */
    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
     */
    constructor(parent?: TreeGrid);
    /**
     * For internal use only - Get the module name.
     * @private
     */
    private getModuleName;
    /**
     * @hidden
     */
    addEventListener(): void;
    removeEventListener(): void;
    private printTreeGrid;
    print(): void;
    /**
     * To destroy the Print
     * @return {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
     */
    constructor(parent?: TreeGrid, treeColumn?: Column | string | ColumnModel);
    /**
     * For internal use only - Get the module name.
     * @private
     */
    private getModuleName;
    /**
     * @hidden
     */
    addEventListener(): void;
    removeEventListener(): void;
    /**
     * To destroy the Reorder
     * @return {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
     */
    constructor(parent?: TreeGrid);
    /**
     * Resize by field names.
     * @param  {string|string[]} fName - Defines the field name.
     * @return {void}
     */
    autoFitColumns(fName?: string | string[]): void;
    /**
     * For internal use only - Get the module name.
     * @private
     */
    private getModuleName;
    /**
     * Destroys the Resize.
     * @method destroy
     * @return {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 */
    private treeGridData;
    /** @hidden */
    private canDrop;
    /** @hidden */
    private isDraggedWithChild;
    /** @hidden */
    isMultipleGrid: string;
    /** @hidden */
    isaddtoBottom: boolean;
    /**
     *
     * Constructor for render module
     */
    constructor(parent?: TreeGrid);
    private getChildrecordsByParentID;
    /**
     * @hidden
     */
    private addEventListener;
    /**
     * Reorder the rows based on given indexes and position
     */
    reorderRows(fromIndexes: number[], toIndex: number, position: string): void;
    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 removeChildItem;
    private getChildCount;
    private ensuredropPosition;
    destroy(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    /**
     * hidden
     */
    /**
     * For internal use only - Get the module name.
     * @private
     */
    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;
    /**
     * Constructor for Selection module
     */
    constructor(parent: TreeGrid);
    /**
     * For internal use only - Get the module name.
     * @private
     */
    private getModuleName;
    addEventListener(): void;
    removeEventListener(): void;
    /**
     * To destroy the Selection
     * @return {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
     */
    private getModuleName;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    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.
     * @return {void}
     */
    sortColumn(columnName: string, direction: grids.SortDirection, isMultiSort?: boolean): void;
    removeSortColumn(field: string): void;
    /**
     * The function used to update sortSettings of TreeGrid.
     * @return {void}
     * @hidden
     */
    private updateModel;
    /**
     * Clears all the sorted columns of the TreeGrid.
     * @return {void}
     */
    clearSorting(): void;
    /**
     * Destroys the Sorting of TreeGrid.
     * @method destroy
     * @return {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
     */
    constructor(parent?: TreeGrid);
    /**
     * For internal use only - Get the module name.
     * @private
     */
    private getModuleName;
    removeEventListener(): void;
    /**
     * Function to calculate summary values
     *  @hidden
     */
    calculateSummaryValue(summaryQuery: data.QueryOptions[], filteredData: Object[], isSort: boolean): Object[];
    private getChildRecordsLength;
    private createSummaryItem;
    private getSummaryValues;
    private getFormatFromType;
    /**
     * To destroy the Aggregate module
     * @return {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
     */
    private getModuleName;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    private refreshToolbar;
    private toolbarClickHandler;
    /**
     * Gets the toolbar of the TreeGrid.
     * @return {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.
     * @return {void}
     * @hidden
     */
    enableItems(items: string[], isEnable: boolean): void;
    /**
     * Destroys the ToolBar.
     * @method destroy
     * @return {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
     */
    constructor(parent?: TreeGrid);
    private returnVisualData;
    /**
     * For internal use only - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    private collapseExpandVirtualchilds;
    private virtualPageAction;
    /**
     * To destroy the virtualScroll module
     * @return {void}
     * @hidden
     */
    destroy(): void;
}
export  class TreeVirtual extends grids.VirtualScroll {
    constructor(parent: grids.IGrid, locator?: grids.ServiceLocator);
    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 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 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 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;
//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 parent;
    private dataResults;
    private sortedData;
    private hierarchyData;
    private isSelfReference;
    private isSortAction;
    constructor(grid: TreeGrid);
    /**
     * @hidden
     */
    addEventListener(): void;
    /**
     * @hidden
     */
    removeEventListener(): void;
    /**
     * To destroy the dataModule
     * @return {void}
     * @hidden
     */
    destroy(): void;
    /** @hidden */
    isRemote(): boolean;
    /**
     * Function to manipulate datasource
     * @hidden
     */
    convertToFlatData(data: Object): void;
    private selfReferenceUpdate;
    /**
     * Function to update the zeroth level parent records in remote binding
     * @hidden
     */
    private updateParentRemoteData;
    /**
     * Function to manipulate datasource
     * @hidden
     */
    private collectExpandingRecs;
    private beginSorting;
    private createRecords;
    /**
     * Function to perform filtering/sorting action for local data
     * @hidden
     */
    dataProcessor(args?: grids.BeforeDataBoundArgs): void;
    private paging;
    /**
     * update for datasource
     */
    private updateData;
}
//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 custom format data interfaces.
 */
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;
}
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;
}
export interface CellSaveEventArgs extends grids.SaveEventArgs {
    /** Defines edited column */
    column?: Column;
}
export interface 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 schema of dataSource. 
   * If the `columns` declaration is empty or undefined then the `columns` are automatically generated from data source.     
   * @default []
   */
    columns?: ColumnModel[] | string[] | Column[];
    /**
   * Specifies the mapping property path for sub tasks in data source
   * @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.
   * @default null
   */
    idMapping?: string;
    /**
   * Specifies the name of the field in the dataSource, which contains the parent’s id
   * @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;
    /**
   * Specifies the mapping property path for the expand status of a record in data source
   * @default false
   */
    allowRowDragAndDrop?: boolean;
    /**
   * It is used to render TreeGrid table rows.
   * @default []
   * @isGenericType true
   * @isDataSource true
   */
    dataSource?: Object | data.DataManager;
    /**
   * Defines the external [`data.Query`](../../data/query/) 
   * 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
  * @blazorType Syncfusion.EJ2.Blazor.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 has been 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`](./columns.html#column-menu) for its configuration.
   * @default false    
   */
    showColumnMenu?: 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`](./aggregates.html) 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, pager renders.
   * @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](../../common/template-engine/) 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
   * @blazorType Syncfusion.EJ2.Blazor.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](../../common/template-engine.html) or HTML element ID.   
     * > * The row template must be a table row.  
     * 
     * > Check the [`grids.Row Template`](../../treegrid/row) customization.
     */
    rowTemplate?: string;
    /**
   * 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`](./row.html#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;
    /**
   * 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;
    /**
     * `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
   * @blazorproperty 'Created'
   */
    created?: base.EmitType<Object>;
    /**
   * This event allows customization of TreeGrid properties before rendering.
   * @event
   * @blazorproperty 'OnLoad'
   */
    load?: base.EmitType<Object>;
    /**
   * Triggers while expanding the TreeGrid record
   * @event
   * @blazorproperty 'Expanding'
   */
    expanding?: base.EmitType<RowExpandingEventArgs>;
    /**
   * Triggers after expand the record
   * @event
   * @blazorproperty 'Expanded'
   */
    expanded?: base.EmitType<RowExpandedEventArgs>;
    /**
   * Triggers while collapsing the TreeGrid record
   * @event
   * @blazorproperty 'Collapsing'
   */
    collapsing?: base.EmitType<RowExpandingEventArgs>;
    /**
   * Triggers after collapse the TreeGrid record
   * @event
   * @blazorproperty 'Collapsed'
   */
    collapsed?: base.EmitType<RowExpandingEventArgs>;
    /**
   * Triggers when cell is saved.
   * @event
   * @blazorproperty 'OnCellSave'
   * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.CellSaveArgs<TValue>
   */
    cellSave?: base.EmitType<grids.CellSaveArgs>;
    /**
   * Triggers when TreeGrid actions such as sorting, filtering, paging etc., starts.
   * @event
   * @blazorproperty 'OnActionBegin'
   * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ActionEventArgs<TValue>
   */
    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
   * @blazorproperty 'OnActionComplete'
   * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ActionEventArgs<TValue>
   */
    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
   * @blazorproperty 'OnBeginEdit'
   * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.BeginEditArgs<TValue>
   */
    beginEdit?: base.EmitType<grids.BeginEditArgs>;
    /**
   * Triggers when the cell is being edited.
   * @event
   * @blazorproperty 'OnCellEdit'
   * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.CellEditArgs<TValue>
   */
    cellEdit?: base.EmitType<grids.CellEditArgs>;
    /**
   * Triggers when any TreeGrid action failed to achieve the desired results.
   * @event
   * @blazorproperty 'OnActionFailure'
   * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.FailureEventArgs
   */
    actionFailure?: base.EmitType<grids.FailureEventArgs>;
    /**
   * Triggers when data source is populated in the TreeGrid.
   * @event
   * @blazorproperty '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
   * @deprecated
   * @blazorProperty 'dataSourceUpdated'
   * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.DataSourceChangedEventArgs
   */
    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
   * @deprecated
   * @blazorType Syncfusion.EJ2.Blazor.Grids.DataStateChangeEventArgs
   */
    dataStateChange?: base.EmitType<DataStateChangeEventArgs>;
    /**
   * Triggers when record is double clicked.
   * @event
   * @blazorproperty 'OnRecordDoubleClick'
   * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.RecordDoubleClickEventArgs<TValue>
   */
    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
   * @blazorproperty 'RowDataBound'
   * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.RowDataBoundEventArgs<TValue>
   */
    rowDataBound?: base.EmitType<grids.RowDataBoundEventArgs>;
    /**
   * Triggers after detail row expands.
   * > This event triggers at initial expand.  
   * @event
   * @blazorproperty 'DetailDataBound'
   * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.DetailDataBoundEventArgs<TValue>
   */
    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
   * @blazorproperty 'QueryCellInfo'
   * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.QueryCellInfoEventArgs<TValue>
   */
    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
     * @blazorproperty 'RowSelecting'
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.RowSelectingEventArgs<TValue>
     */
    rowSelecting?: base.EmitType<grids.RowSelectingEventArgs>;
    /**
     * Triggers after a row is selected.
     * @event
     * @blazorproperty 'RowSelected'
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.RowSelectEventArgs<TValue>
     */
    rowSelected?: base.EmitType<grids.RowSelectEventArgs>;
    /**
     * Triggers before deselecting the selected row.
     * @event
     * @deprecated
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.RowDeselectEventArgs<TValue>
     */
    rowDeselecting?: base.EmitType<grids.RowDeselectEventArgs>;
    /**
     * Triggers when a selected row is deselected.
     * @event
     * @blazorproperty 'RowDeselected'
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.RowDeselectEventArgs<TValue>
     */
    rowDeselected?: base.EmitType<grids.RowDeselectEventArgs>;
    /**
     * Triggered for stacked header.
     * @event
     * @blazorproperty 'HeaderCellInfo'
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.HeaderCellInfoEventArgs 
     */
    headerCellInfo?: base.EmitType<grids.HeaderCellInfoEventArgs>;
    /**
       * Triggers before any cell selection occurs.
       * @event
       * @blazorproperty 'CellSelecting'
       * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.CellSelectingEventArgs<TValue>
       */
    cellSelecting?: base.EmitType<grids.CellSelectingEventArgs>;
    /**
     * Triggers before column menu opens.
     * @event
     * @deprecated
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ColumnMenuOpenEventArgs
     */
    columnMenuOpen?: base.EmitType<grids.ColumnMenuOpenEventArgs>;
    /**
     * Triggers when click on column menu.
     * @event
     * @blazorproperty 'ColumnMenuItemClicked'
     * @blazorType Syncfusion.EJ2.Blazor.Navigations.navigations.MenuEventArgs
     */
    columnMenuClick?: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers after a cell is selected.
     * @event 
     * @blazorproperty 'CellSelected'
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.CellSelectEventArgs<TValue>
     */
    cellSelected?: base.EmitType<grids.CellSelectEventArgs>;
    /**
     * Triggers before the selected cell is deselecting.
     * @event 
     * @deprecated
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.CellDeselectEventArgs
     */
    cellDeselecting?: base.EmitType<grids.CellDeselectEventArgs>;
    /**
   * Triggers when a particular selected cell is deselected.
   * @event 
   * @deprecated
   * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.CellDeselectEventArgs
   */
    cellDeselected?: base.EmitType<grids.CellDeselectEventArgs>;
    /**
   * Triggers when column resize starts.
   * @event
   * @deprecated
   */
    resizeStart?: base.EmitType<grids.ResizeArgs>;
    /**
   * Triggers on column resizing.
   * @event
   * @deprecated
   */
    resizing?: base.EmitType<grids.ResizeArgs>;
    /**
   * Triggers when column resize ends.
   * @event
   * @deprecated
   */
    resizeStop?: base.EmitType<grids.ResizeArgs>;
    /**
   * Triggers when column header element drag (move) starts. 
   * @event  
   * @deprecated
   * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ColumnDragEventArgs
   */
    columnDragStart?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
   * Triggers when column header element is dragged (moved) continuously. 
   * @event  
   * @deprecated
   * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ColumnDragEventArgs
   */
    columnDrag?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
  * Triggers when a column header element is dropped on the target column. 
  * @event  
  * @deprecated
  * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ColumnDragEventArgs
  */
    columnDrop?: base.EmitType<grids.ColumnDragEventArgs>;
    /**
   * Triggers when the check box state change in checkbox column.
   * @event
   * @deprecated
   */
    checkboxChange?: base.EmitType<grids.CheckBoxChangeEventArgs>;
    /**
  * Triggers after print action is completed.  
  * @event 
  * @deprecated
  * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.PrintEventArgs
  */
    printComplete?: base.EmitType<grids.PrintEventArgs>;
    /**
  * Triggers before the print action starts.  
  * @event 
  * @deprecated
  * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.PrintEventArgs
  */
    beforePrint?: base.EmitType<grids.PrintEventArgs>;
    /**
   * Triggers when toolbar item is clicked.
   * @event
   * @blazorproperty 'OnToolbarClick'
   * @blazorType Syncfusion.EJ2.Blazor.Navigations.navigations.ClickEventArgs
   */
    toolbarClick?: base.EmitType<navigations.ClickEventArgs>;
    /**
   * Triggers when a particular selected cell is deselected.
   * @event 
   * @blazorproperty 'OnDataBound'
   * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.BeforeDataBoundArgs<TValue>
   */
    beforeDataBound?: base.EmitType<grids.BeforeDataBoundArgs>;
    /**
   * Triggers before context menu opens.
   * @event
   * @deprecated
   * @blazorType Syncfusion.EJ2.Blazor.Navigations.navigations.BeforeOpenCloseMenuEventArgs
   */
    contextMenuOpen?: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
   * Triggers when click on context menu.
   * @event
   * @blazorproperty 'ContextMenuItemClicked'
   * @blazorType Syncfusion.EJ2.Blazor.Navigations.navigations.MenuEventArgs
   */
    contextMenuClick?: base.EmitType<navigations.MenuEventArgs>;
    /**
   * Triggers when row elements are dragged (moved) continuously.
   * @event
   * @deprecated
   */
    rowDrag?: base.EmitType<grids.RowDragEventArgs>;
    /**
   * Triggers when row element’s drag(move) starts.
   * @event
   * @deprecated
   */
    rowDragStart?: base.EmitType<grids.RowDragEventArgs>;
    /**
   * Triggers when row element’s before drag(move).
   * @event
   * @deprecated
   */
    rowDragStartHelper?: base.EmitType<grids.RowDragEventArgs>;
    /**
   * Triggers when row elements are dropped on the target row.
   * @event
   * @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`](./excel-exporting.html) 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`](./pdf-exporting.html) 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 
     * @deprecated
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.PdfQueryCellInfoEventArgs
     */
    pdfQueryCellInfo?: base.EmitType<grids.PdfQueryCellInfoEventArgs>;
    /**
 * Triggers before exporting each header cell to PDF document. 
 * You can also customize the PDF cells.
 * @event 
 * @deprecated
 * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.PdfHeaderQueryCellInfoEventArgs
 */
    pdfHeaderQueryCellInfo?: base.EmitType<grids.PdfHeaderQueryCellInfoEventArgs>;
    /**
 * Triggers before exporting each cell to Excel file.
 * You can also customize the Excel cells.
 * @event
 * @deprecated
 * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ExcelQueryCellInfoEventArgs
 */
    excelQueryCellInfo?: base.EmitType<grids.ExcelQueryCellInfoEventArgs>;
    /**
 * Triggers before exporting each header cell to Excel file.
 * You can also customize the Excel cells.
 * @event
 * @deprecated
 * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ExcelHeaderQueryCellInfoEventArgs
 */
    excelHeaderQueryCellInfo?: base.EmitType<grids.ExcelHeaderQueryCellInfoEventArgs>;
    /**
 * Triggers before TreeGrid data is exported to Excel file.
 * @event
 * @blazorproperty 'OnExcelExport'
 */
    beforeExcelExport?: base.EmitType<Object>;
    /**
 * Triggers after TreeGrid data is exported to Excel file.
 * @event
 * @deprecated
 * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ExcelExportCompleteArgs
 */
    excelExportComplete?: base.EmitType<grids.ExcelExportCompleteArgs>;
    /**
 * Triggers before TreeGrid data is exported to PDF document.
 * @event
 * @blazorproperty 'OnPdfExport'
 */
    beforePdfExport?: base.EmitType<Object>;
    /**
 * Triggers after TreeGrid data is exported to PDF document.
 * @event
 * @deprecated
 * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.PdfExportCompleteArgs
 */
    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;
    /**
     * The `sortModule` is used to manipulate sorting in TreeGrid.
     */
    sortModule: Sort;
    private isSelfReference;
    private columnModel;
    private isExpandAll;
    private isCollapseAll;
    private isExpandRefresh;
    private gridSettings;
    /** @hidden */
    initialRender: boolean;
    /** @hidden */
    flatData: Object[];
    /** @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;
    /**
     * `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;
    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.
     * @default []
     */
    columns: ColumnModel[] | string[] | Column[];
    /**
     * Specifies the mapping property path for sub tasks in data source
     * @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.
     * @default null
     */
    idMapping: string;
    /**
     * Specifies the name of the field in the dataSource, which contains the parent’s id
     * @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;
    /**
     * Specifies the mapping property path for the expand status of a record in data source
     * @default false
     */
    allowRowDragAndDrop: boolean;
    /**
     * It is used to render TreeGrid table rows.
     * @default []
     * @isGenericType true
     * @isDataSource true
     */
    dataSource: Object | data.DataManager;
    /**
     * Defines the external [`data.Query`](../../data/query/)
     * 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
     * @blazorType Syncfusion.EJ2.Blazor.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 has been 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`](./columns.html#column-menu) for its configuration.
     * @default false
     */
    showColumnMenu: 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`](./aggregates.html) 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, pager renders.
     * @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](../../common/template-engine/) 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
     * @blazorType Syncfusion.EJ2.Blazor.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](../../common/template-engine.html) or HTML element ID.
     * > * The row template must be a table row.
     *
     * > Check the [`Row Template`](../../treegrid/row) customization.
     */
    rowTemplate: string;
    /**
     * 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`](./row.html#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;
    /**
     * 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;
    /**
     * `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
     * @blazorproperty 'Created'
     */
    created: base.EmitType<Object>;
    /**
     * This event allows customization of TreeGrid properties before rendering.
     * @event
     * @blazorproperty 'OnLoad'
     */
    load: base.EmitType<Object>;
    /**
     * Triggers while expanding the TreeGrid record
     * @event
     * @blazorproperty 'Expanding'
     */
    expanding: base.EmitType<RowExpandingEventArgs>;
    /**
     * Triggers after expand the record
     * @event
     * @blazorproperty 'Expanded'
     */
    expanded: base.EmitType<RowExpandedEventArgs>;
    /**
     * Triggers while collapsing the TreeGrid record
     * @event
     * @blazorproperty 'Collapsing'
     */
    collapsing: base.EmitType<RowExpandingEventArgs>;
    /**
     * Triggers after collapse the TreeGrid record
     * @event
     * @blazorproperty 'Collapsed'
     */
    collapsed: base.EmitType<RowExpandingEventArgs>;
    /**
     * Triggers when cell is saved.
     * @event
     * @blazorproperty 'OnCellSave'
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.CellSaveArgs<TValue>
     */
    cellSave: base.EmitType<grids.CellSaveArgs>;
    /**
     * Triggers when TreeGrid actions such as sorting, filtering, paging etc., starts.
     * @event
     * @blazorproperty 'OnActionBegin'
     * @blazorType Syncfusion.EJ2.Blazor.Grids.ActionEventArgs<TValue>
     */
    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
     * @blazorproperty 'OnActionComplete'
     * @blazorType Syncfusion.EJ2.Blazor.Grids.ActionEventArgs<TValue>
     */
    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
     * @blazorproperty 'OnBeginEdit'
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.BeginEditArgs<TValue>
     */
    beginEdit: base.EmitType<grids.BeginEditArgs>;
    /**
     * Triggers when the cell is being edited.
     * @event
     * @blazorproperty 'OnCellEdit'
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.CellEditArgs<TValue>
     */
    cellEdit: base.EmitType<grids.CellEditArgs>;
    /**
     * Triggers when any TreeGrid action failed to achieve the desired results.
     * @event
     * @blazorproperty 'OnActionFailure'
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.FailureEventArgs
     */
    actionFailure: base.EmitType<grids.FailureEventArgs>;
    /**
     * Triggers when data source is populated in the TreeGrid.
     * @event
     * @blazorproperty '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
     * @deprecated
     * @blazorProperty 'dataSourceUpdated'
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.DataSourceChangedEventArgs
     */
    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
     * @deprecated
     * @blazorType Syncfusion.EJ2.Blazor.Grids.DataStateChangeEventArgs
     */
    dataStateChange: base.EmitType<DataStateChangeEventArgs>;
    /**
     * Triggers when record is double clicked.
     * @event
     * @blazorproperty 'OnRecordDoubleClick'
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.RecordDoubleClickEventArgs<TValue>
     */
    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
     * @blazorproperty 'RowDataBound'
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.RowDataBoundEventArgs<TValue>
     */
    rowDataBound: base.EmitType<grids.RowDataBoundEventArgs>;
    /**
     * Triggers after detail row expands.
     * > This event triggers at initial expand.
     * @event
     * @blazorproperty 'DetailDataBound'
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.DetailDataBoundEventArgs<TValue>
     */
    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
     * @blazorproperty 'QueryCellInfo'
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.QueryCellInfoEventArgs<TValue>
     */
    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
     * @blazorproperty 'RowSelecting'
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.RowSelectingEventArgs<TValue>
     */
    rowSelecting: base.EmitType<grids.RowSelectingEventArgs>;
    /**
     * Triggers after a row is selected.
     * @event
     * @blazorproperty 'RowSelected'
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.RowSelectEventArgs<TValue>
     */
    rowSelected: base.EmitType<grids.RowSelectEventArgs>;
    /**
     * Triggers before deselecting the selected row.
     * @event
     * @deprecated
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.RowDeselectEventArgs<TValue>
     */
    rowDeselecting: base.EmitType<grids.RowDeselectEventArgs>;
    /**
     * Triggers when a selected row is deselected.
     * @event
     * @blazorproperty 'RowDeselected'
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.RowDeselectEventArgs<TValue>
     */
    rowDeselected: base.EmitType<grids.RowDeselectEventArgs>;
    /**
     * Triggered for stacked header.
     * @event
     * @blazorproperty 'HeaderCellInfo'
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.HeaderCellInfoEventArgs
     */
    headerCellInfo: base.EmitType<grids.HeaderCellInfoEventArgs>;
    /**
     * Triggers before any cell selection occurs.
     * @event
     * @blazorproperty 'CellSelecting'
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.CellSelectingEventArgs<TValue>
     */
    cellSelecting: base.EmitType<grids.CellSelectingEventArgs>;
    /**
     * Triggers before column menu opens.
     * @event
     * @deprecated
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ColumnMenuOpenEventArgs
     */
    columnMenuOpen: base.EmitType<grids.ColumnMenuOpenEventArgs>;
    /**
     * Triggers when click on column menu.
     * @event
     * @blazorproperty 'ColumnMenuItemClicked'
     * @blazorType Syncfusion.EJ2.Blazor.Navigations.navigations.MenuEventArgs
     */
    columnMenuClick: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers after a cell is selected.
     * @event
     * @blazorproperty 'CellSelected'
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.CellSelectEventArgs<TValue>
     */
    cellSelected: base.EmitType<grids.CellSelectEventArgs>;
    /**
     * Triggers before the selected cell is deselecting.
     * @event
     * @deprecated
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.CellDeselectEventArgs
     */
    cellDeselecting: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * Triggers when a particular selected cell is deselected.
     * @event
     * @deprecated
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.CellDeselectEventArgs
     */
    cellDeselected: base.EmitType<grids.CellDeselectEventArgs>;
    /**
     * Triggers when column resize starts.
     * @event
     * @deprecated
     */
    resizeStart: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers on column resizing.
     * @event
     * @deprecated
     */
    resizing: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers when column resize ends.
     * @event
     * @deprecated
     */
    resizeStop: base.EmitType<grids.ResizeArgs>;
    /**
     * Triggers when column header element drag (move) starts.
     * @event
     * @deprecated
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ColumnDragEventArgs
     */
    columnDragStart: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers when column header element is dragged (moved) continuously.
     * @event
     * @deprecated
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ColumnDragEventArgs
     */
    columnDrag: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers when a column header element is dropped on the target column.
     * @event
     * @deprecated
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ColumnDragEventArgs
     */
    columnDrop: base.EmitType<grids.ColumnDragEventArgs>;
    /**
     * Triggers when the check box state change in checkbox column.
     * @event
     * @deprecated
     */
    checkboxChange: base.EmitType<grids.CheckBoxChangeEventArgs>;
    /**
     * Triggers after print action is completed.
     * @event
     * @deprecated
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.PrintEventArgs
     */
    printComplete: base.EmitType<grids.PrintEventArgs>;
    /**
     * Triggers before the print action starts.
     * @event
     * @deprecated
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.PrintEventArgs
     */
    beforePrint: base.EmitType<grids.PrintEventArgs>;
    /**
     * Triggers when toolbar item is clicked.
     * @event
     * @blazorproperty 'OnToolbarClick'
     * @blazorType Syncfusion.EJ2.Blazor.Navigations.navigations.ClickEventArgs
     */
    toolbarClick: base.EmitType<navigations.ClickEventArgs>;
    /**
     * Triggers when a particular selected cell is deselected.
     * @event
     * @blazorproperty 'OnDataBound'
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.BeforeDataBoundArgs<TValue>
     */
    beforeDataBound: base.EmitType<grids.BeforeDataBoundArgs>;
    /**
     * Triggers before context menu opens.
     * @event
     * @deprecated
     * @blazorType Syncfusion.EJ2.Blazor.Navigations.navigations.BeforeOpenCloseMenuEventArgs
     */
    contextMenuOpen: base.EmitType<navigations.BeforeOpenCloseMenuEventArgs>;
    /**
     * Triggers when click on context menu.
     * @event
     * @blazorproperty 'ContextMenuItemClicked'
     * @blazorType Syncfusion.EJ2.Blazor.Navigations.navigations.MenuEventArgs
     */
    contextMenuClick: base.EmitType<navigations.MenuEventArgs>;
    /**
     * Triggers when row elements are dragged (moved) continuously.
     * @event
     * @deprecated
     */
    rowDrag: base.EmitType<grids.RowDragEventArgs>;
    /**
     * Triggers when row element’s drag(move) starts.
     * @event
     * @deprecated
     */
    rowDragStart: base.EmitType<grids.RowDragEventArgs>;
    /**
     * Triggers when row element’s before drag(move).
     * @event
     * @deprecated
     */
    rowDragStartHelper: base.EmitType<grids.RowDragEventArgs>;
    /**
     * Triggers when row elements are dropped on the target row.
     * @event
     * @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`](./excel-exporting.html) 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`](./pdf-exporting.html) 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
     * @deprecated
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.PdfQueryCellInfoEventArgs
     */
    pdfQueryCellInfo: base.EmitType<grids.PdfQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each header cell to PDF document.
     * You can also customize the PDF cells.
     * @event
     * @deprecated
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.PdfHeaderQueryCellInfoEventArgs
     */
    pdfHeaderQueryCellInfo: base.EmitType<grids.PdfHeaderQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each cell to Excel file.
     * You can also customize the Excel cells.
     * @event
     * @deprecated
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ExcelQueryCellInfoEventArgs
     */
    excelQueryCellInfo: base.EmitType<grids.ExcelQueryCellInfoEventArgs>;
    /**
     * Triggers before exporting each header cell to Excel file.
     * You can also customize the Excel cells.
     * @event
     * @deprecated
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ExcelHeaderQueryCellInfoEventArgs
     */
    excelHeaderQueryCellInfo: base.EmitType<grids.ExcelHeaderQueryCellInfoEventArgs>;
    /**
     * Triggers before TreeGrid data is exported to Excel file.
     * @event
     * @blazorproperty 'OnExcelExport'
     */
    beforeExcelExport: base.EmitType<Object>;
    /**
     * Triggers after TreeGrid data is exported to Excel file.
     * @event
     * @deprecated
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.ExcelExportCompleteArgs
     */
    excelExportComplete: base.EmitType<grids.ExcelExportCompleteArgs>;
    /**
     * Triggers before TreeGrid data is exported to PDF document.
     * @event
     * @blazorproperty 'OnPdfExport'
     */
    beforePdfExport: base.EmitType<Object>;
    /**
     * Triggers after TreeGrid data is exported to PDF document.
     * @event
     * @deprecated
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.PdfExportCompleteArgs
     */
    pdfExportComplete: base.EmitType<grids.PdfExportCompleteArgs>;
    /**
     * Export TreeGrid data to Excel file(.xlsx).
     * @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.
     * @return {Promise<any>}
     */
    excelExport(excelExportProperties?: grids.ExcelExportProperties, 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.
     * @return {Promise<any>}
     *
     */
    csvExport(excelExportProperties?: grids.ExcelExportProperties, isMultipleExport?: boolean, workbook?: any, isBlob?: boolean): Promise<any>;
    /**
     * Export TreeGrid data to PDF document.
     * @param  {pdfExportProperties} grids.PdfExportProperties - Defines the export properties of the grids.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.
     * @return {Promise<any>}
     *
     */
    pdfExport(pdfExportProperties?: grids.PdfExportProperties, isMultipleExport?: boolean, pdfDoc?: Object, isBlob?: boolean): Promise<Object>;
    /**
     * For internal use only - Get the module name.
     * @private
     */
    protected getModuleName(): string;
    /**
     * For internal use only - Initialize the event handler;
     * @private
     */
    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.
     * @return {void}
     */
    sortByColumn(columnName: string, direction: grids.SortDirection, isMultiSort?: boolean): void;
    /**
     * Clears all the sorted columns of the TreeGrid.
     * @return {void}
     */
    clearSorting(): void;
    /**
     * Remove sorted column by field name.
     * @param {string} field - Defines the column field name to remove sort.
     * @return {void}
     * @hidden
     */
    removeSortColumn(field: string): void;
    /**
     * Searches TreeGrid records using the given key.
     * You can customize the default search option by using the
     * [`searchSettings`](./api-searchSettings.html).
     * @param  {string} searchString - Defines the key.
     * @return {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.
     * @return {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.
     * @return {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`](./api-treegrid.html#printmode-string).
     * @return {void}
     */
    print(): void;
    private treeGridkeyActionHandler;
    private findnextRowElement;
    private findPreviousRowElement;
    private initProperties;
    /**
     * Binding events to the element while component creation.
     * @hidden
     */
    wireEvents(): void;
    /**
     * To provide the array of modules needed for component rendering
     * @return {base.ModuleDeclaration[]}
     * @hidden
     */
    requiredModules(): base.ModuleDeclaration[];
    private isCommandColumn;
    /**
     * Unbinding events from the element while component destroy.
     * @hidden
     */
    unwireEvents(): void;
    /**
     * For internal use only - To Initialize the component rendering.
     * @private
     */
    protected render(): void;
    private convertTreeData;
    private bindGridProperties;
    private triggerEvents;
    private bindGridEvents;
    private bindCallBackEvents;
    private extendedGridEditEvents;
    private updateRowTemplate;
    private bindedDataSource;
    private extendedGridEvents;
    private bindGridDragEvents;
    /**
     * Renders TreeGrid component
     * @private
     */
    protected loadGrid(): void;
    /**
     * AutoGenerate TreeGrid columns from first record
     * @hidden
     */
    private autoGenerateColumns;
    private getGridEditSettings;
    /**
     * Defines grid toolbar from treegrid toolbar model
     * @hidden
     */
    private getContextMenu;
    /**
     * Defines grid toolbar from treegrid toolbar model
     * @hidden
     */
    private getGridToolbar;
    /**
     * Convert TreeGrid ColumnModel to grids.Grid Column
     * @hidden
     */
    private getGridColumns;
    /**
     * Called internally if any of the property value changed.
     * @hidden
     */
    onPropertyChanged(newProp: TreeGridModel, oldProp: TreeGridModel): void;
    /**
     * Destroys the component (detaches/removes all event handlers, attributes, classes, and empties the component element).
     * @method destroy
     * @return {void}
     */
    destroy(): void;
    /**
     * Update the TreeGrid model
     * @method dataBind
     * @return {void}
     * @private
     */
    dataBind(): void;
    /**
     * Get the properties to be maintained in the persisted state.
     * @return {string}
     * @hidden
     */
    getPersistData(): string;
    private ignoreInArrays;
    private ignoreInColumn;
    private mouseClickHandler;
    /**
     * Returns TreeGrid rows
     * @return {HTMLTableRowElement[]}
     */
    getRows(): HTMLTableRowElement[];
    /**
     * Gets the pager of the TreeGrid.
     * @return {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.
     */
    addRecord(data?: Object, index?: number, position?: RowPosition): void;
    /**
     * Cancels edited state.
     */
    closeEdit(): 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.
     */
    deleteRecord(fieldName?: string, data?: Object): void;
    /**
     * To edit any particular row by TR element.
     * @param {HTMLTableRowElement} tr - Defines the table row to be edited.
     */
    startEdit(): 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.
     */
    editCell(rowIndex?: number, field?: string): void;
    /**
     * If TreeGrid is in editable state, you can save a record by invoking endEdit.
     */
    endEdit(): void;
    /**
     * Delete any visible row by TR element.
     * @param {HTMLTableRowElement} tr - Defines the table row element.
     */
    deleteRow(tr: HTMLTableRowElement): void;
    /**
     * Get the names of the primary key columns of the TreeGrid.
     * @return {string[]}
     */
    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.
     */
    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.
     */
    setRowData(key: string | number, rowData?: Object): void;
    /**
     * Navigates to the specified target page.
     * @param  {number} pageNo - Defines the page number to navigate.
     * @return {void}
     */
    goToPage(pageNo: number): void;
    /**
     * Defines the text of external message.
     * @param  {string} message - Defines the message to update.
     * @return {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.
     * @return {Element}
     */
    getCellFromIndex(rowIndex: number, columnIndex: number): Element;
    /**
     * Gets a Column by column name.
     * @param  {string} field - Specifies the column name.
     * @return {Column}
     */
    getColumnByField(field: string): Column;
    /**
     * Gets a column by UID.
     * @param  {string} uid - Specifies the column UID.
     * @return {Column}
     */
    getColumnByUid(uid: string): Column;
    /**
     * Gets the collection of column fields.
     * @return {string[]}
     */
    getColumnFieldNames(): string[];
    /**
     * Gets the footer div of the TreeGrid.
     * @return {Element}
     */
    getFooterContent(): Element;
    /**
     * Gets the footer table element of the TreeGrid.
     * @return {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.
     * @return {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.
     * @return {void}
     */
    hideColumns(keys: string | string[], hideBy?: string): void;
    /**
     * Gets a column header by column name.
     * @param  {string} field - Specifies the column name.
     * @return {Element}
     */
    getColumnHeaderByField(field: string): Element;
    /**
     * Gets a column header by column index.
     * @param  {number} index - Specifies the column index.
     * @return {Element}
     */
    getColumnHeaderByIndex(index: number): Element;
    /**
     * Gets a column header by UID.
     * @param  {string} field - Specifies the column uid.
     * @return {Element}
     */
    getColumnHeaderByUid(uid: string): Element;
    /**
     * Gets a column index by column name.
     * @param  {string} field - Specifies the column name.
     * @return {number}
     */
    getColumnIndexByField(field: string): number;
    /**
     * Gets a column index by UID.
     * @param  {string} uid - Specifies the column UID.
     * @return {number}
     */
    getColumnIndexByUid(uid: string): number;
    /**
     * Gets the columns from the TreeGrid.
     * @return {Column[]}
     */
    getColumns(isRefresh?: boolean): Column[];
    private updateColumnModel;
    /**
     * Gets the content div of the TreeGrid.
     * @return {Element}
     */
    getContent(): Element;
    private mergePersistTreeGridData;
    private mergeColumns;
    private updateTreeGridModel;
    /**
     * Gets the content table of the TreeGrid.
     * @return {Element}
     */
    getContentTable(): Element;
    /**
     * Gets all the TreeGrid's data rows.
     * @return {Element[]}
     */
    getDataRows(): Element[];
    /**
     * Get current visible data of TreeGrid.
     * @return {Object[]}
     * @isGenericType true
     */
    getCurrentViewRecords(): Object[];
    /**
     * Gets the header div of the TreeGrid.
     * @return {Element}
     */
    getHeaderContent(): Element;
    /**
     * Gets the header table element of the TreeGrid.
     * @return {Element}
     */
    getHeaderTable(): Element;
    /**
     * Gets a row by index.
     * @param  {number} index - Specifies the row index.
     * @return {Element}
     */
    getRowByIndex(index: number): Element;
    /**
     * Get a row information based on cell
     * @param {Element}
     * @return grids.RowInfo
     */
    getRowInfo(target: Element | EventTarget): grids.RowInfo;
    /**
     * Gets UID by column name.
     * @param  {string} field - Specifies the column name.
     * @return {string}
     */
    getUidByColumnField(field: string): string;
    /**
     * Gets the visible columns from the TreeGrid.
     * @return {Column[]}
     */
    getVisibleColumns(): Column[];
    /**
     * By default, TreeGrid shows the spinner for all its actions. You can use this method to show spinner at your needed time.
     */
    showSpinner(): void;
    /**
     * Manually shown spinner needs to hide by `hideSpinnner`.
     */
    hideSpinner(): void;
    /**
     * Refreshes the TreeGrid header and content.
     */
    refresh(): void;
    /**
     * Get the records of checked rows.
     * @return {Object[]}
     * @isGenericType true
     */
    getCheckedRecords(): Object[];
    /**
     * Get the indexes of checked rows.
     * @return {number[]}
     */
    getCheckedRowIndexes(): number[];
    /**
     * Checked the checkboxes using rowIndexes.
     */
    selectCheckboxes(indexes: number[]): void;
    /**
     * Refreshes the TreeGrid column changes.
     */
    refreshColumns(): void;
    /**
     * Refreshes the TreeGrid header.
     */
    refreshHeader(): void;
    /**
     * Expands or collapse child records
     * @return {string}
     * @hidden
     */
    private expandCollapseRequest;
    /**
     * Expands child rows
     * @return {void}
     */
    expandRow(row: HTMLTableRowElement, record?: Object): void;
    private getCollapseExpandRecords;
    /**
     * Collapses child rows
     * @return {void}
     */
    collapseRow(row: HTMLTableRowElement, record?: Object): void;
    /**
     * Expands the records at specific hierarchical level
     * @return {void}
     */
    expandAtLevel(level: number): void;
    private getRecordDetails;
    /**
     * Collapses the records at specific hierarchical level
     * @return {void}
     */
    collapseAtLevel(level: number): void;
    /**
     * Expands All the rows
     * @return {void}
     */
    expandAll(): void;
    /**
     * Collapses All the rows
     * @return {void}
     */
    collapseAll(): void;
    private expandCollapseAll;
    private expandCollapse;
    private updateChildOnDemand;
    private remoteExpand;
    private localExpand;
    private updateAltRow;
    private treeColumnRowTemplate;
    private collapseRemoteChild;
    /**
     * @hidden
     */
    addListener(): void;
    private updateResultModel;
    /**
     * @hidden
     */
    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, 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.
     * @param  {string} actualFilterValue - Defines the actual filter value for the filter column.
     * @param  {string} actualOperator - Defines the actual filter operator for the filter column.
     * @return {void}
     */
    filterByColumn(fieldName: string, filterOperator: string, filterValue: string | number | Date | boolean, predicate?: string, matchCase?: boolean, ignoreAccent?: boolean, actualFilterValue?: string, actualOperator?: string): void;
    /**
     * Clears all the filtered rows of the TreeGrid.
     * @return {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.
     * @return {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.
     * @return {void}
     */
    selectRow(index: number, isToggle?: boolean): void;
    /**
     * Selects a collection of rows by indexes.
     * @param  {number[]} rowIndexes - Specifies the row indexes.
     * @return {void}
     */
    selectRows(rowIndexes: number[]): void;
    /**
     * Deselects the current selected rows and cells.
     * @return {void}
     */
    clearSelection(): 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.
     * @return {void}
     */
    selectCell(cellIndex: grids.IIndex, isToggle?: boolean): void;
    /**
     * Gets the collection of selected rows.
     * @return {Element[]}
     */
    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.
     * @return {Element}
     */
    getMovableCellFromIndex(rowIndex: number, columnIndex: number): Element;
    /**
     * Gets all the TreeGrid's movable table data rows.
     * @return {Element[]}
     */
    getMovableDataRows(): Element[];
    /**
     * Gets a movable tables row by index.
     * @param  {number} index - Specifies the row index.
     * @return {Element}
     */
    getMovableRowByIndex(index: number): Element;
    /**
     * Gets the TreeGrid's movable content rows from frozen treegrid.
     * @return {Element[]}
     */
    getMovableRows(): Element[];
    /**
     * @hidden
     */
    getFrozenColumns(): number;
    private getFrozenCount;
    /**
     * Gets the collection of selected row indexes.
     * @return {number[]}
     */
    getSelectedRowIndexes(): number[];
    /**
     * Gets the collection of selected row and cell indexes.
     * @return {number[]}
     */
    getSelectedRowCellIndexes(): grids.ISelectedCell[];
    /**
     * Gets the collection of selected records.
     * @isGenericType true
     * @return {Object[]}
     */
    getSelectedRecords(): Object[];
    /**
     * Gets the data module.
     * @return {grids.Data}
     */
    getDataModule(): {
        baseModule: grids.Data;
        treeModule: DataManipulation;
    };
    /**
     * Reorder the rows based on given indexes and position
     */
    reorderRows(fromIndexes: number[], toIndex: number, position: string): void;
    /**
     * 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 = 
/** Defines FilterHiearchyMode as Parent */
'Parent' | 'Child' | 'Both' | '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 = 'All' | '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';
/**
 * 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
}
/**
 * Defines modes of editing.
 */
export  type EditMode = 
/**  Defines EditMode as Cell */
'Cell' | 
/**  Defines EditMode as Row */
'Row' | 
/**  Defines EditMode as Dialog */
'Dialog';
/**
 * 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';
//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'
     * @blazorType Syncfusion.EJ2.Blazor.Grids.EditType
     * @blazorDefaultValue Syncfusion.EJ2.Blazor.Grids.EditType.DefaultEdit
     */
    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
     * @blazorType object
     */
    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 false
     */
    disableHtmlEncode: boolean;
    /**
     * Defines the data type of the column.
     * @default null
     * @blazorDefaultValueIgnore
     * @blazorType Syncfusion.EJ2.Blazor.Grids.ColumnType
     */
    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
     * @blazorType 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](../../../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 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;
    /**
     * 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;
    constructor(options: ColumnModel);
}
/**
 * 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
     * @blazorType Syncfusion.EJ2.Blazor.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
     * @blazorType Syncfusion.EJ2.Blazor.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
     * @blazorDefaultValueIgnore
     * @isEnumeration true
     * @aspType Syncfusion.EJ2.Grids.grids.TextAlign
     * @blazorType Syncfusion.EJ2.Blazor.Grids.grids.TextAlign
     */
    headerTextAlign?: grids.TextAlign;
    /**
     * If `disableHtmlEncode` is set to true, it encodes the HTML of the header and content cells.
     * @default false
     */
    disableHtmlEncode?: boolean;
    /**
     * Defines the data type of the column.
     * @default null
     * @blazorType Syncfusion.EJ2.Blazor.Grids.ColumnType
     * @blazorDefaultValueIgnore
     */
    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
     * @blazorType 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;
    /**
     * 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'
     * @blazorType Syncfusion.EJ2.Blazor.Grids.EditType
     * @blazorDefaultValue Syncfusion.EJ2.Blazor.Grids.EditType.DefaultEdit
     */
    editType?: string;
    /**
     * Defines default values for the component when adding a new record to the TreeGrid.
     * @default null
     * @blazorType object
     */
    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;
}
//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
     * @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;
}
//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
     * @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;
}
//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.
   * @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
   * @blazorType Syncfusion.EJ2.Blazor.Operator
   * @blazorDefaultValue Syncfusion.EJ2.Blazor.Operator.None
   */
    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;
    /**
   * @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?: grids.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
     * @blazorType Syncfusion.EJ2.Blazor.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`](../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.
     * @default Parent
     */
    hierarchyMode?: FilterHierarchyMode;
}
//node_modules/@syncfusion/ej2-treegrid/src/treegrid/models/filter-settings.d.ts
/**
 * 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
     * @blazorType Syncfusion.EJ2.Blazor.Operator
     * @blazorDefaultValue Syncfusion.EJ2.Blazor.Operator.None
     */
    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;
    /**
     * @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: grids.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
     * @blazorType Syncfusion.EJ2.Blazor.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`](../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.
     * @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/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/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`](../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`](../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
     * @blazorType Syncfusion.EJ2.Blazor.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
     * @blazorType Syncfusion.EJ2.Blazor.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
     * @blazorType Syncfusion.EJ2.Blazor.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 Default 
     */
    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;
}
//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
     * @blazorType Syncfusion.EJ2.Blazor.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
     * @blazorType Syncfusion.EJ2.Blazor.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
     * @blazorType Syncfusion.EJ2.Blazor.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 Default
     */
    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;
}
//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
     * @blazorDefaultValueIgnore
     * @aspType Syncfusion.EJ2.Grids.grids.SortDirection
     * @blazorType Syncfusion.EJ2.Blazor.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
     * @blazorDefaultValueIgnore
     * @aspType Syncfusion.EJ2.Grids.grids.SortDirection
     * @blazorType Syncfusion.EJ2.Blazor.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
   * @blazorType 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
     * @blazorType 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;
    /**
     * @hidden
     */
    setFormatter(cultureName: string): void;
    /**
     * @hidden
     */
    getFormatFunction(format: base.NumberFormatOptions | base.DateFormatOptions): Function;
    /**
     * @hidden
     */
    getFormatter(): Function;
    /**
     * @hidden
     */
    setTemplate(helper?: Object): void;
    /**
     * @hidden
     */
    getTemplate(type: grids.CellType): {
        fn: Function;
        property: string;
    };
    /**
     * @hidden
     */
    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
     */
    constructor(parent?: TreeGrid);
    /**
     * Updated row elements for TreeGrid
     */
    RowModifier(args: grids.RowDataBoundEventArgs): void;
    /**
     * cell renderer for tree column index cell
     */
    cellRender(args: grids.QueryCellInfoEventArgs): void;
    private updateTreeCell;
    private columnTemplateResult;
    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;
    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
/**
 * Content renderer for TreeGrid
 */
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 startIndex;
    private endIndex;
    private totalRecords;
    private contents;
    getRowByIndex(index: number): Element;
    addEventListener(): void;
    private virtualOtherAction;
    private indexModifier;
    eventListener(action: string): void;
    protected onDataReady(e?: grids.NotifyArgs): void;
    renderTable(): void;
    scrollListeners(scrollArgs: ScrollArg): void;
    appendContent(target: HTMLElement, newChild: DocumentFragment, e: grids.NotifyArgs): void;
}
export  class TreeInterSectionObserver extends grids.InterSectionObserver {
    private isWheeling;
    private newPos;
    private lastPos;
    private timer;
    observes(callback: 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/utils.d.ts
export  function isRemoteData(parent: TreeGrid): boolean;
export  function isCountRequired(parent: TreeGrid): boolean;
export  function isFilterChildHierarchy(parent: TreeGrid): boolean;
/**
 * @hidden
 */
export  function findParentRecords(records: Object): Object;
/**
 * @hidden
 */
export  function getExpandStatus(parent: TreeGrid, record: ITreeData, parents: ITreeData[]): boolean;
/**
 * @hidden
 */
export  function findChildrenRecords(records: ITreeData): Object[];
export  function isOffline(parent: TreeGrid): boolean;
export  function extendArray(array: Object[]): Object[];
export  function getPlainData(value: ITreeData): ITreeData;
export  function getParentData(parent: TreeGrid, value: string, requireFilter?: Boolean): ITreeData;
 }
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: Object[];
    /** collection of legends */
    legendCollections: Object[];
    outOfRangeLegend: Object;
    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.
     * @return {void}
     * @private
     */
    destroy(treemap: TreeMap): 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: Object[];
    private parentData;
    constructor(treemap: TreeMap);
    processLayoutPanel(): void;
    private getDrilldownData;
    calculateLayoutItems(data: Object, 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: Object): void;
    renderLayoutItems(renderData: Object): void;
    private renderItemText;
    private getItemColor;
    /**
     * To find saturated color for datalabel
     */
    private getSaturatedColor;
    private renderTemplate;
    private labelInterSectAction;
}
//node_modules/@syncfusion/ej2-treemap/src/treemap/model/base-model.d.ts
/**
 * 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 '#808080'
     */
    color?: string;
    /**
     * The width of the border in pixels.
     * @default 0
     */
    width?: number;
}
/**
 * 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 Font
 */
export interface FontModel {
    /**
     * Font size for the text.
     * @default null
     */
    size?: string;
    /**
     * Color for the text.
     * @default null
     */
    color?: string;
    /**
     * fontFamily for the text.
     * @default null
     */
    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 CommonTitleSettings
 */
export interface CommonTitleSettingsModel {
    /**
     * To customize the text of the title.
     * @default ''
     */
    text?: string;
    /**
     * To customize title description for the accessibility.
     * @default ''
     */
    description?: string;
}
/**
 * Interface for a class SubTitleSettings
 */
export interface SubTitleSettingsModel extends CommonTitleSettingsModel{
    /**
     * Options for customizing title styles of the Maps.
     */
    textStyle?: FontModel;
    /**
     * Options for customize the text alignment.
     * @default 'Center'
     */
    alignment?: Alignment;
}
/**
 * Interface for a class TitleSettings
 */
export interface TitleSettingsModel extends CommonTitleSettingsModel{
    /**
     * Options for customizing title styles of the Maps.
     */
    textStyle?: FontModel;
    /**
     * Options for customize the text alignment.
     * @default 'Center'
     */
    alignment?: Alignment;
    /**
     * To configure sub title of maps.
     */
    subtitleSettings?: SubTitleSettingsModel;
}
/**
 * Interface for a class ColorMapping
 */
export interface ColorMappingModel {
    /**
     * Specifies the from
     * @default null
     */
    from?: number;
    /**
     * Specifies the to
     * @default null
     */
    to?: number;
    /**
     * specifies the color
     * @default null 
     */
    color?: string | string[];
    /**
     * Specifies the label text.
     * @default null
     */
    label?: string;
    /**
     * Specifies the value
     * @default null
     */
    value?: string | number;
    /**
     * Specifies the minOpacity
     * @default null 
     */
    minOpacity?: number;
    /**
     * maxOpacity
     * @default null 
     */
    maxOpacity?: number;
    /**
     * Specifies the visibility of the legend for color mapping
     * @default true
     */
    showLegend?: boolean;
}
/**
 * Interface for a class LegendSettings
 */
export interface LegendSettingsModel {
    /**
     * Toggle the legend visibility.
     * @default false
     */
    visible?: boolean;
    /**
     * Customize the legend mode.
     * @default 'Default'
     */
    mode?: LegendMode;
    /**
     * Customize the legend background
     * @default 'transparent'
     */
    background?: string;
    /**
     * Customize the legend shape.
     * @default 'Circle'
     */
    shape?: LegendShape;
    /**
     * Customize the legend width.
     * @default ''
     */
    width?: string;
    /**
     * Customize the legend height.
     * @default ''
     */
    height?: string;
    /**
     * Options for customize the legend text.
     */
    textStyle?: FontModel;
    /**
     * Specifies the legend shape color
     * @default null
     */
    fill?: string;
    /**
     * Specifies the legend opacity of shape color
     * @default 1
     */
    opacity?: number;
    /**
     * Customize the shape width.
     * @default 15
     */
    shapeWidth?: number;
    /**
     * Customize the shape height.
     * @default 15
     */
    shapeHeight?: number;
    /**
     * Customize the shape padding
     * @default 10
     */
    shapePadding?: number;
    /**
     * Specifies the images url.
     * @default null
     */
    imageUrl?: string;
    /**
     * Options for customizing the color and width of the legend border.
     */
    border?: BorderModel;
    /**
     * Options for customizing the color and width of the shape border.
     */
    shapeBorder?: BorderModel;
    /**
     * To configure the title of the legend.
     */
    title?: CommonTitleSettingsModel;
    /**
     * Options for customizing text styles of the legend.
     */
    titleStyle?: FontModel;
    /**
     * Customize the legend position of the maps.
     * @default 'Bottom'
     */
    position?: LegendPosition;
    /**
     * Customize the legend items placed
     * @default 'None'
     */
    orientation?: LegendOrientation;
    /**
     * Inverted pointer for interactive legend
     * @default false
     */
    invertedPointer?: boolean;
    /**
     * To place the label position for interactive legend.
     * @default 'After'
     */
    labelPosition?: LabelPlacement;
    /**
     * Specifies the label intersect action.
     * @default 'None'
     */
    labelDisplayMode?: LabelIntersectAction;
    /**
     * Customize the legend alignment.
     * @default 'Center'
     */
    alignment?: Alignment;
    /**
     * Customize the legend placed by given x and y values. 
     */
    location?: Location;
    /**
     * Enable or disable the visibility of the legend.
     * @default null
     */
    showLegendPath?: string;
    /**
     * Used to render particular field in dataSource as legend.
     * @default null
     */
    valuePath?: string;
    /**
     * Used to remove duplicate of the legend items.
     * @default false
     */
    removeDuplicateLegend?: boolean;
}
/**
 * Interface for a class InitialDrillSettings
 */
export interface InitialDrillSettingsModel {
    /**
     * Specifies the initial rendering level.
     * @default null
     */
    groupIndex?: number;
    /**
     * Specifies the initial rendering name.
     * @default null
     */
    groupName?: string;
}
/**
 * Interface for a class LeafItemSettings
 */
export interface LeafItemSettingsModel {
    /**
     * Specifies the fill color for leaf items.
     * @default null
     */
    fill?: string;
    /**
     * Items rendering with random colors.
     * @default false
     */
    autoFill?: boolean;
    /**
     * Specifies the border
     */
    border?: BorderModel;
    /**
     * Specifies the item gap.
     * @default 0
     */
    gap?: number;
    /**
     * Specifies the padding.
     * @default 10
     */
    padding?: number;
    /**
     * Specifies the opacity for color.
     * @default 1
     */
    opacity?: number;
    /**
     * To show or hide the labels
     * @default true
     */
    showLabels?: boolean;
    /**
     * Specifies the field name from the dataSource.
     * @default null
     */
    labelPath?: string;
    /**
     * Specifies the label format.
     * @default null
     */
    labelFormat?: string;
    /**
     * Specifies the alignment of label.
     * @default 'TopLeft'
     */
    labelPosition?: LabelPosition;
    /**
     * Customize the label style.
     */
    labelStyle?: FontModel;
    /**
     * Specifies the label template.
     * @default null
     */
    labelTemplate?: string;
    /**
     * Specifies the alignment of template.
     * @default 'Center'
     */
    templatePosition?: LabelPosition;
    /**
     * Specifies the label intersect action.
     * @default 'Trim'
     */
    interSectAction?: LabelAlignment;
    /**
     * Specifies the colorMapping
     */
    colorMapping?: ColorMappingModel[];
}
/**
 * Interface for a class TooltipSettings
 */
export interface TooltipSettingsModel {
    /**
     * To enable or disable the Tooltip.
     * @default false
     */
    visible?: boolean;
    /**
     * To specifies the template for tooltip.
     * @default ''
     */
    template?: string;
    /**
     * Specifies the format by given ${data}
     * @default null
     */
    format?: string;
    /**
     * To fill the tooltip background.
     * @default null
     */
    fill?: string;
    /**
     * Specifies the opacity for fill.
     * @default null
     */
    opacity?: number;
    /**
     * Specifies the marker shapes.
     * @default '[Circle]'
     */
    markerShapes?: MarkerShape[];
    /**
     * Specifies the tooltip border.
     */
    border?: BorderModel;
    /**
     * Specifies the text style.
     */
    textStyle?: FontModel;
}
/**
 * Interface for a class SelectionSettings
 */
export interface SelectionSettingsModel {
    /**
     * To enable or disable the selection
     * @default false
     */
    enable?: boolean;
    /**
     * To specifies the selection color
     * @default '#808080'
     */
    fill?: string;
    /**
     * To specified the opacity of color.
     * @default '0.5'
     */
    opacity?: string;
    /**
     * To specifies the border
     */
    border?: BorderModel;
    /**
     * To specifies the selection mode.
     * @default 'Item'
     */
    mode?: SelectionMode;
}
/**
 * Interface for a class HighlightSettings
 */
export interface HighlightSettingsModel {
    /**
     * To enable or disable the highlight.
     * @default false
     */
    enable?: boolean;
    /**
     * To specifies the highlight color.
     * @default '#808080'
     */
    fill?: string;
    /**
     * To specified the opacity of color.
     * @default '0.5'
     */
    opacity?: string;
    /**
     * To specifies the border
     */
    border?: BorderModel;
    /**
     * To specifies the highlight mode.
     * @default 'Item'
     */
    mode?: HighLightMode;
}
/**
 * Interface for a class LevelSettings
 */
export interface LevelSettingsModel {
    /**
     * Specifies the field name from the dataSource.
     * @default null
     */
    groupPath?: string;
    /**
     * Specifies the padding.
     * @default 0
     */
    groupGap?: number;
    /**
     * Specifies the padding.
     * @default 10
     */
    groupPadding?: number;
    /**
     * Specifies the border
     */
    border?: BorderModel;
    /**
     * Specifies the background of level.
     * @default null
     */
    fill?: string;
    /**
     * Items rendering with random colors.
     * @default false
     */
    autoFill?: boolean;
    /**
     * Specifies the opacity for color.
     * @default 1
     */
    opacity?: number;
    /**
     * To Show or hide the header in level.
     * @default true
     */
    showHeader?: boolean;
    /**
     * To specifies the height of header.
     * @default 20
     */
    headerHeight?: number;
    /**
     * Specifies the template for header rendering.
     * @default null
     */
    headerTemplate?: string;
    /**
     * Specifies the header format.
     * @default null
     */
    headerFormat?: string;
    /**
     * Customize the text alignment
     * @default 'Near'
     */
    headerAlignment?: Alignment;
    /**
     * Customize the header style.
     */
    headerStyle?: FontModel;
    /**
     * Specifies the label position in level.
     * @default 'TopLeft'
     */
    templatePosition?: LabelPosition;
    /**
     * Specifies the colorMapping
     */
    colorMapping?: ColorMappingModel[];
}
//node_modules/@syncfusion/ej2-treemap/src/treemap/model/base.d.ts
/**
 * Maps base doc
 */
/**
 * Configures the borders in the maps.
 */
export  type MarkerShape = 'Circle' | 'Rectangle' | 'Triangle' | 'Diamond' | 'Cross' | 'HorizontalLine' | 'VerticalLine' | 'Pentagon' | 'InvertedTriangle' | 'Image';
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 '#808080'
     */
    color: string;
    /**
     * The width of the border in pixels.
     * @default 0
     */
    width: number;
}
/**
 * Configures the treemap margin.
 */
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 fonts in treemap.
 */
export  class Font extends base.ChildProperty<Font> {
    /**
     * Font size for the text.
     * @default null
     */
    size: string;
    /**
     * Color for the text.
     * @default null
     */
    color: string;
    /**
     * fontFamily for the text.
     * @default null
     */
    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;
}
/**
 * To configure title of the maps.
 */
export  class CommonTitleSettings extends base.ChildProperty<CommonTitleSettings> {
    /**
     * To customize the text of the title.
     * @default ''
     */
    text: string;
    /**
     * To customize title description for the accessibility.
     * @default ''
     */
    description: string;
}
/**
 * To configure subtitle of the maps.
 */
export  class SubTitleSettings extends CommonTitleSettings {
    /**
     * Options for customizing title styles of the Maps.
     */
    textStyle: FontModel;
    /**
     * Options for customize the text alignment.
     * @default 'Center'
     */
    alignment: Alignment;
}
/**
 * To configure title of the maps.
 */
export  class TitleSettings extends CommonTitleSettings {
    /**
     * Options for customizing title styles of the Maps.
     */
    textStyle: FontModel;
    /**
     * Options for customize the text alignment.
     * @default 'Center'
     */
    alignment: Alignment;
    /**
     * To configure sub title of maps.
     */
    subtitleSettings: SubTitleSettingsModel;
}
export  class ColorMapping extends base.ChildProperty<ColorMapping> {
    /**
     * Specifies the from
     * @default null
     */
    from: number;
    /**
     * Specifies the to
     * @default null
     */
    to: number;
    /**
     * specifies the color
     * @default null
     */
    color: string | string[];
    /**
     * Specifies the label text.
     * @default null
     */
    label: string;
    /**
     * Specifies the value
     * @default null
     */
    value: string | number;
    /**
     * Specifies the minOpacity
     * @default null
     */
    minOpacity: number;
    /**
     * maxOpacity
     * @default null
     */
    maxOpacity: number;
    /**
     * Specifies the visibility of the legend for color mapping
     * @default true
     */
    showLegend: boolean;
}
/**
 * Configures the legend settings.
 */
export  class LegendSettings extends base.ChildProperty<LegendSettings> {
    /**
     * Toggle the legend visibility.
     * @default false
     */
    visible: boolean;
    /**
     * Customize the legend mode.
     * @default 'Default'
     */
    mode: LegendMode;
    /**
     * Customize the legend background
     * @default 'transparent'
     */
    background: string;
    /**
     * Customize the legend shape.
     * @default 'Circle'
     */
    shape: LegendShape;
    /**
     * Customize the legend width.
     * @default ''
     */
    width: string;
    /**
     * Customize the legend height.
     * @default ''
     */
    height: string;
    /**
     * Options for customize the legend text.
     */
    textStyle: FontModel;
    /**
     * Specifies the legend shape color
     * @default null
     */
    fill: string;
    /**
     * Specifies the legend opacity of shape color
     * @default 1
     */
    opacity: number;
    /**
     * Customize the shape width.
     * @default 15
     */
    shapeWidth: number;
    /**
     * Customize the shape height.
     * @default 15
     */
    shapeHeight: number;
    /**
     * Customize the shape padding
     * @default 10
     */
    shapePadding: number;
    /**
     * Specifies the images url.
     * @default null
     */
    imageUrl: string;
    /**
     * Options for customizing the color and width of the legend border.
     */
    border: BorderModel;
    /**
     * Options for customizing the color and width of the shape border.
     */
    shapeBorder: BorderModel;
    /**
     * To configure the title of the legend.
     */
    title: CommonTitleSettingsModel;
    /**
     * Options for customizing text styles of the legend.
     */
    titleStyle: FontModel;
    /**
     * Customize the legend position of the maps.
     * @default 'Bottom'
     */
    position: LegendPosition;
    /**
     * Customize the legend items placed
     * @default 'None'
     */
    orientation: LegendOrientation;
    /**
     * Inverted pointer for interactive legend
     * @default false
     */
    invertedPointer: boolean;
    /**
     * To place the label position for interactive legend.
     * @default 'After'
     */
    labelPosition: LabelPlacement;
    /**
     * Specifies the label intersect action.
     * @default 'None'
     */
    labelDisplayMode: LabelIntersectAction;
    /**
     * Customize the legend alignment.
     * @default 'Center'
     */
    alignment: Alignment;
    /**
     * Customize the legend placed by given x and y values.
     */
    location: Location;
    /**
     * Enable or disable the visibility of the legend.
     * @default null
     */
    showLegendPath: string;
    /**
     * Used to render particular field in dataSource as legend.
     * @default null
     */
    valuePath: string;
    /**
     * Used to remove duplicate of the legend items.
     * @default false
     */
    removeDuplicateLegend: boolean;
}
export  class InitialDrillSettings extends base.ChildProperty<InitialDrillSettings> {
    /**
     * Specifies the initial rendering level.
     * @default null
     */
    groupIndex: number;
    /**
     * Specifies the initial rendering name.
     * @default null
     */
    groupName: string;
}
export  class LeafItemSettings extends base.ChildProperty<LeafItemSettings> {
    /**
     * Specifies the fill color for leaf items.
     * @default null
     */
    fill: string;
    /**
     * Items rendering with random colors.
     * @default false
     */
    autoFill: boolean;
    /**
     * Specifies the border
     */
    border: BorderModel;
    /**
     * Specifies the item gap.
     * @default 0
     */
    gap: number;
    /**
     * Specifies the padding.
     * @default 10
     */
    padding: number;
    /**
     * Specifies the opacity for color.
     * @default 1
     */
    opacity: number;
    /**
     * To show or hide the labels
     * @default true
     */
    showLabels: boolean;
    /**
     * Specifies the field name from the dataSource.
     * @default null
     */
    labelPath: string;
    /**
     * Specifies the label format.
     * @default null
     */
    labelFormat: string;
    /**
     * Specifies the alignment of label.
     * @default 'TopLeft'
     */
    labelPosition: LabelPosition;
    /**
     * Customize the label style.
     */
    labelStyle: FontModel;
    /**
     * Specifies the label template.
     * @default null
     */
    labelTemplate: string;
    /**
     * Specifies the alignment of template.
     * @default 'Center'
     */
    templatePosition: LabelPosition;
    /**
     * Specifies the label intersect action.
     * @default 'Trim'
     */
    interSectAction: LabelAlignment;
    /**
     * Specifies the colorMapping
     */
    colorMapping: ColorMappingModel[];
}
export  class TooltipSettings extends base.ChildProperty<TooltipSettings> {
    /**
     * To enable or disable the Tooltip.
     * @default false
     */
    visible: boolean;
    /**
     * To specifies the template for tooltip.
     * @default ''
     */
    template: string;
    /**
     * Specifies the format by given ${data}
     * @default null
     */
    format: string;
    /**
     * To fill the tooltip background.
     * @default null
     */
    fill: string;
    /**
     * Specifies the opacity for fill.
     * @default null
     */
    opacity: number;
    /**
     * Specifies the marker shapes.
     * @default '[Circle]'
     */
    markerShapes: MarkerShape[];
    /**
     * Specifies the tooltip border.
     */
    border: BorderModel;
    /**
     * Specifies the text style.
     */
    textStyle: FontModel;
}
export  class SelectionSettings extends base.ChildProperty<SelectionSettings> {
    /**
     * To enable or disable the selection
     * @default false
     */
    enable: boolean;
    /**
     * To specifies the selection color
     * @default '#808080'
     */
    fill: string;
    /**
     * To specified the opacity of color.
     * @default '0.5'
     */
    opacity: string;
    /**
     * To specifies the border
     */
    border: BorderModel;
    /**
     * To specifies the selection mode.
     * @default 'Item'
     */
    mode: SelectionMode;
}
export  class HighlightSettings extends base.ChildProperty<HighlightSettings> {
    /**
     * To enable or disable the highlight.
     * @default false
     */
    enable: boolean;
    /**
     * To specifies the highlight color.
     * @default '#808080'
     */
    fill: string;
    /**
     * To specified the opacity of color.
     * @default '0.5'
     */
    opacity: string;
    /**
     * To specifies the border
     */
    border: BorderModel;
    /**
     * To specifies the highlight mode.
     * @default 'Item'
     */
    mode: HighLightMode;
}
/**
 * Options for customizing the tree map levels.
 */
export  class LevelSettings extends base.ChildProperty<LevelSettings> {
    /**
     * Specifies the field name from the dataSource.
     * @default null
     */
    groupPath: string;
    /**
     * Specifies the padding.
     * @default 0
     */
    groupGap: number;
    /**
     * Specifies the padding.
     * @default 10
     */
    groupPadding: number;
    /**
     * Specifies the border
     */
    border: BorderModel;
    /**
     * Specifies the background of level.
     * @default null
     */
    fill: string;
    /**
     * Items rendering with random colors.
     * @default false
     */
    autoFill: boolean;
    /**
     * Specifies the opacity for color.
     * @default 1
     */
    opacity: number;
    /**
     * To Show or hide the header in level.
     * @default true
     */
    showHeader: boolean;
    /**
     * To specifies the height of header.
     * @default 20
     */
    headerHeight: number;
    /**
     * Specifies the template for header rendering.
     * @default null
     */
    headerTemplate: string;
    /**
     * Specifies the header format.
     * @default null
     */
    headerFormat: string;
    /**
     * Customize the text alignment
     * @default 'Near'
     */
    headerAlignment: Alignment;
    /**
     * Customize the header style.
     */
    headerStyle: FontModel;
    /**
     * Specifies the label position in level.
     * @default 'TopLeft'
     */
    templatePosition: LabelPosition;
    /**
     * Specifies the colorMapping
     */
    colorMapping: ColorMappingModel[];
}
//node_modules/@syncfusion/ej2-treemap/src/treemap/model/constants.d.ts
/**
 * TreeMap constants doc
 */
/**
 * Specifies TreeMap load event name.
 * @private
 */
export  const load: string;
/**
 * Specifies TreeMap loaded event name.
 * @private
 */
export  const loaded: string;
/**
 * Specifies TreeMap beforePrint event name.
 * @private
 */
export  const beforePrint: string;
/**
 * Specifies the itemRendering event name.
 * @private
 */
export  const itemRendering: string;
/**
 * Specifies the drilldown start event name.
 * @private
 */
export  const drillStart: string;
/**
 * Specifies the drilldown end event name.
 * @private
 */
export  const drillEnd: string;
/**
 * Specifies the item selected event name.
 * @private
 */
export  const itemSelected: string;
/**
 * Specifies the item highlight event name.
 * @private
 */
export  const itemHighlight: string;
/**
 * Specifies the tooltip rendering event name.
 * @private
 */
export  const tooltipRendering: string;
/**
 * Specifies the item click event name.
 * @private
 */
export  const itemClick: string;
/**
 * Specifies the item move event name.
 * @private
 */
export  const itemMove: string;
/**
 * Specifies the mouse click event name.
 * @private
 */
export  const click: string;
/**
 * Specifies maps double click event name.
 * @private
 */
export  const doubleClick: string;
/**
 * Specifies maps right click event name.
 * @private
 */
export  const rightClick: string;
/**
 * Specifies the mouse move event name.
 * @private
 */
export  const mouseMove: string;
/**
 * Specifies legend item rendering event name.
 * @private
 */
export  const legendItemRendering: string;
/**
 * Specifies legend rendering event name.
 * @private
 */
export  const legendRendering: string;
/**
 * Specifies treemap resize event name.
 * @private
 */
export  const resize: string;
//node_modules/@syncfusion/ej2-treemap/src/treemap/model/interface.d.ts
/**
 * Specifies TreeMap Events
 * @private
 */
export interface ITreeMapEventArgs {
    /** Defines the name of the event */
    name: string;
    /** Defines the event cancel status */
    cancel: boolean;
}
export interface IPrintEventArgs extends ITreeMapEventArgs {
    htmlContent: Element;
}
/**
 * Specifies the Load Event arguments.
 */
export interface ILoadEventArgs extends ITreeMapEventArgs {
    /** Defines the current TreeMap instance
     * @deprecated
     */
    treemap?: TreeMap;
}
/**
 * Specifies the Loaded Event arguments.
 */
export interface ILoadedEventArgs extends ITreeMapEventArgs {
    /** Defines the current TreeMap instance
     * @deprecated
     */
    treemap?: TreeMap;
}
/**
 * Specifies the Item Rendering Event arguments.
 */
export interface IItemRenderingEventArgs extends ITreeMapEventArgs {
    /** Defines the current TreeMap instance
     * @deprecated
     */
    treemap?: TreeMap;
    /**
     * Define the current rendering item.
     */
    currentItem: Object;
    /**
     * Define the all render items
     */
    RenderItems?: Object[];
    /**
     * Define the options.
     */
    options: Object;
}
/**
 * Specifies the Drill Start Event arguments.
 */
export interface IDrillStartEventArgs extends ITreeMapEventArgs {
    /** Defines the current TreeMap instance
     * @deprecated
     */
    treemap?: TreeMap;
    /**
     * Define the current drillDown item.
     */
    item: Object;
    /**
     * Define the current element of drillDown.
     */
    element: Element;
    /**
     * Defines the level of the treemap item.
     */
    groupIndex: number;
    /**
     * Defines the parent name of the treemap item.
     */
    groupName: string;
    /**
     * return the boolean value whether it is right or not.
     */
    rightClick: boolean;
    /**
     * return the child values to process the onDemand support.
     */
    childItems: Object;
}
export interface IDrillEndEventArgs extends ITreeMapEventArgs {
    /** Defines the current TreeMap instance
     * @deprecated
     */
    treemap?: TreeMap;
    /**
     * Define the rendering all items.
     */
    renderItems: Object[];
}
export interface IItemClickEventArgs extends ITreeMapEventArgs {
    /** Defines the current TreeMap instance
     * @deprecated
     */
    treemap?: TreeMap;
    /**
     * Define the current item click.
     */
    item: Object;
    /**
     * Define the mouse event.
     */
    mouseEvent: PointerEvent;
    /**
     * Defines the level of the treemap item.
     */
    groupIndex: number;
    /**
     * Defines the parent name of the treemap item.
     */
    groupName: string;
}
export interface IItemMoveEventArgs extends ITreeMapEventArgs {
    /** Defines the current TreeMap instance
     * @deprecated
     */
    treemap?: TreeMap;
    /**
     * Define the current item move.
     */
    item: Object;
    /**
     * Define the mouse event.
     */
    mouseEvent: PointerEvent;
}
export interface IClickEventArgs extends ITreeMapEventArgs {
    /** Defines the current TreeMap instance
     * @deprecated
     */
    treemap?: TreeMap;
    /**
     * Define the mouse event.
     */
    mouseEvent: PointerEvent;
}
export interface IDoubleClickEventArgs extends ITreeMapEventArgs {
    /** Defines the current TreeMap instance
     * @deprecated
     */
    treemap?: TreeMap;
    /**
     * Define the mouse event.
     */
    mouseEvent: PointerEvent;
}
export interface IRightClickEventArgs extends ITreeMapEventArgs {
    /** Defines the current TreeMap instance
     * @deprecated
     */
    treemap?: TreeMap;
    /**
     * Define the mouse event.
     */
    mouseEvent: PointerEvent;
}
export interface IMouseMoveEventArgs extends ITreeMapEventArgs {
    /** Defines the current TreeMap instance
     * @deprecated
     */
    treemap?: TreeMap;
    /**
     * Define the mouse event.
     */
    mouseEvent: PointerEvent;
}
export interface IItemSelectedEventArgs extends ITreeMapEventArgs {
    /** Defines the current TreeMap instance
     * @deprecated
     */
    treemap?: TreeMap;
    /**
     * Define the current item selected.
     */
    items: Object[];
    /**
     * Define the current element of selected.
     */
    elements: Element[];
}
export interface IItemHighlightEventArgs extends ITreeMapEventArgs {
    /** Defines the current TreeMap instance
     * @deprecated
     */
    treemap?: TreeMap;
    /**
     * Define the current item highlight.
     */
    items: Object[];
    /**
     * Define the current element of highlight.
     */
    elements: Element[];
}
/**
 * Specifies the Tooltip Rendering Event arguments.
 * @deprecated
 */
export interface ITreeMapTooltipRenderEventArgs extends ITreeMapEventArgs {
    /** Defines the current TreeMap instance
     * @deprecated
     */
    treemap?: TreeMap;
    /**
     * Define the current tooltip item.
     */
    item: Object;
    /**
     * Define the tooltip options.
     */
    options: Object;
    /**
     * Define the current tooltip element.
     */
    element?: Element;
    /**
     * Define the mouse location.
     */
    eventArgs: PointerEvent;
}
/**
 * Specifies the Tooltip Rendering Event arguments.
 * @deprecated
 */
export interface ITreeMapTooltipArgs extends ITreeMapEventArgs {
    location: Object;
    text: string[];
    data: Object;
    textStyle: FontModel;
    template: string;
}
/**
 * Specifies legendRendering event arguments for maps.
 */
export interface ILegendItemRenderingEventArgs extends ITreeMapEventArgs {
    /**
     * maps instance event argument
     * @deprecated
     */
    treemap?: TreeMap;
    /**
     * Specifies the legend shape color
     */
    fill?: string;
    /**
     * Options for customizing the color and width of the shape border.
     */
    shapeBorder?: BorderModel;
    /**
     * Customize the legend shape of the maps.
     */
    shape?: LegendShape;
    /**
     * Customize the image url.
     */
    imageUrl?: string;
}
/**
 * Specifies legendRendering event arguments for maps.
 */
export interface ILegendRenderingEventArgs extends ITreeMapEventArgs {
    /**
     * maps instance event argument
     * @deprecated
     */
    treemap?: TreeMap;
    /**
     * Customize the legend position of the maps.
     */
    position?: LegendPosition;
    /**
     * Customize the legend position of the maps.
     */
    _changePosition?: LegendPosition;
}
/**
 * TreeMap Resize event arguments.
 */
export interface IResizeEventArgs extends ITreeMapEventArgs {
    /** Defines the previous size of the treemap */
    previousSize: Size;
    /** Defines the current size of the treemap */
    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;
}
/**
 * Specifies the theme style interface.
 */
export interface IThemeStyle {
    backgroundColor: string;
    titleFontColor: string;
    subTitleFontColor: string;
    tooltipFillColor: string;
    tooltipFontColor: string;
    tooltipFillOpacity?: number;
    tooltipTextOpacity?: number;
    legendTitleColor: string;
    legendTextColor: string;
    fontFamily?: string;
    fontSize?: string;
    legendFontSize?: string;
    labelFontFamily?: string;
    borderWidth: number;
    borderColor: string;
}
//node_modules/@syncfusion/ej2-treemap/src/treemap/model/theme.d.ts
/**
 * Maps Themes doc
 */
export  namespace Theme {
    /** @private */
    let mapsTitleFont: IFontMapping;
}
/**
 * @private
 * To get the theme style based on treemap theme.
 */
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{
    /**
     * Specifies the width by given pixel or percentage.
     * @default null
     */
    width?: string;
    /**
     * Specifies the height by given pixel or percentage.
     * @default null
     */
    height?: string;
    /**
     * Specifies the border of tree map.
     */
    border?: BorderModel;
    /**
     * Specifies the margin to move the render area.
     */
    margin?: MarginModel;
    /**
     * Specifies the background.
     */
    background?: string;
    /**
     * Specifies the theme.
     */
    theme?: TreeMapTheme;
    /**
     * Specifies the title for tree map.
     */
    titleSettings?: TitleSettingsModel;
    /**
     * Specifies the rendering of layout type.
     */
    layoutType?: LayoutMode;
    /**
     * Specifies the dataSource.
     * @isGenericType true
     * @isObservable true
     * @default null
     */
    dataSource?: data.DataManager | TreeMapAjax | Object[];
    /**
     * Specifies the query for filter the data.
     * @default null
     */
    query?: data.Query;
    /**
     * Specifies the weight value path
     */
    weightValuePath?: string;
    /**
     * Specifies the colorValuePath
     */
    rangeColorValuePath?: string;
    /**
     * Specifies the colorValuePath
     */
    equalColorValuePath?: string;
    /**
     * Specifies the colorValuePath from dataSource
     */
    colorValuePath?: string;
    /**
     * Specifies the palette colors.
     */
    palette?: string[];
    /**
     * Specifies the rendering of layout of the treemap items.
     * @default TopLeftBottomRight
     */
    renderDirection?: RenderingMode;
    /**
     * To enable or disable the drillDown.
     */
    enableDrillDown?: boolean;
    /**
     * To render the text from right to left.
     */
    enableBreadcrumb?: boolean;
    /**
     * To add the breadCrumb connector.
     */
    breadcrumbConnector?: string;
    /**
     * To control the drillDown view.
     */
    drillDownView?: boolean;
    /**
     * Specifies the initial drillDown.
     */
    initialDrillDown?: InitialDrillSettingsModel;
    /**
     * Specifies to access all leaf items in levels.
     */
    leafItemSettings?: LeafItemSettingsModel;
    /**
     * Specifies the item levels.
     */
    levels?: LevelSettingsModel[];
    /**
     * To specifies the highlight settings.
     */
    highlightSettings?: HighlightSettingsModel;
    /**
     * To specifies the selection settings.
     */
    selectionSettings?: SelectionSettingsModel;
    /**
     * Specifies the tooltip settings.
     */
    tooltipSettings?: TooltipSettingsModel;
    /**
     * Specifies the legend settings.
     */
    legendSettings?: LegendSettingsModel;
    /**
     * To enable the separator
     * @default false
     */
    useGroupingSeparator?: boolean;
    /**
     * Description for maps.
     * @default null
     */
    description?: string;
    /**
     * TabIndex value for treemap.
     * @default 1
     */
    tabIndex?: number;
    /**
     * To apply internationalization for treemap
     * @default null
     */
    format?: string;
    /**
     * Triggers before treemap rendered.
     * @event
     */
    load?: base.EmitType<ILoadEventArgs>;
    /**
     * Triggers before the prints gets started.
     * @event
     * @blazorProperty 'OnPrint'
     */
    beforePrint?: base.EmitType<IPrintEventArgs>;
    /**
     * Triggers after treemap rendered.
     * @event
     * @blazorProperty 'Loaded'
     */
    loaded?: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers before item rendering.
     * @event
     * @blazorProperty 'ItemRendering'
     */
    itemRendering?: base.EmitType<IItemRenderingEventArgs>;
    /**
     * Triggers the drillDown start.
     * @event
     * @blazorProperty 'OnDrillStart'
     */
    drillStart?: base.EmitType<IDrillStartEventArgs>;
    /**
     * Triggers the drillDown end.
     * @event
     * @blazorProperty 'DrillCompleted'
     */
    drillEnd?: base.EmitType<IDrillEndEventArgs>;
    /**
     * Triggers the item selected.
     * @event
     * @blazorProperty 'ItemSelected'
     */
    itemSelected?: base.EmitType<IItemSelectedEventArgs>;
    /**
     * Triggers the item highlight.
     * @event
     * @blazorProperty 'ItemHighlighted'
     */
    itemHighlight?: base.EmitType<IItemHighlightEventArgs>;
    /**
     * Triggers the tooltip rendering.
     * @event
     * @blazorProperty 'TooltipRendering'
     * @blazorType ITreeMapTooltipArgs
     */
    tooltipRendering?: base.EmitType<ITreeMapTooltipRenderEventArgs>;
    /**
     * Triggers the item click.
     * @event
     * @blazorProperty 'OnItemClick'
     */
    itemClick?: base.EmitType<IItemClickEventArgs>;
    /**
     * Triggers the item move.
     * @event
     * @blazorProperty 'OnItemMove'
     */
    itemMove?: base.EmitType<IItemMoveEventArgs>;
    /**
     * Triggers the click event.
     * @event
     * @blazorProperty 'OnClick'
     */
    click?: base.EmitType<IItemClickEventArgs>;
    /**
     * Triggers on double clicking the maps.
     * @event
     * @blazorProperty 'OnDoubleClick'
     */
    doubleClick?: base.EmitType<IDoubleClickEventArgs>;
    /**
     * Triggers on right clicking the maps.
     * @event
     * @blazorProperty 'OnRightClick'
     */
    rightClick?: base.EmitType<IMouseMoveEventArgs>;
    /**
     * Triggers the mouse move event.
     * @event
     * @blazorProperty 'OnMouseMove'
     */
    mouseMove?: base.EmitType<IMouseMoveEventArgs>;
    /**
     * Triggers the resize event.
     * @event
     * @blazorProperty 'Resizing'
     */
    resize?: base.EmitType<IResizeEventArgs>;
    /**
     * Triggers the legend item rendering.
     * @event
     * @blazorProperty 'LegendItemRendering'
     */
    legendItemRendering?: base.EmitType<ILegendItemRenderingEventArgs>;
    /**
     * Triggers the legend rendering event.
     * @event
     * @deprecated
     * @blazorProperty 'LegendRendering'
     */
    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 control.
 * ```html
 * <div id="container"/>
 * <script>
 *   var treemap = new TreeMap();
 *   treemap.appendTo("#container");
 * </script>
 * ```
 */
export  class TreeMap extends base.Component<HTMLElement> implements base.INotifyPropertyChanged {
    /**
     * `tooltipModule` is used to render the treemap tooltip.
     */
    treeMapTooltipModule: TreeMapTooltip;
    /**
     * `highlightModule` is used for highlight the items.
     */
    treeMapHighlightModule: TreeMapHighlight;
    /**
     * `selectionModule` is used for select the items.
     */
    treeMapSelectionModule: TreeMapSelection;
    /**
     * `legendModule` is used for render the legend items.
     */
    treeMapLegendModule: TreeMapLegend;
    /**
     * Specifies the width by given pixel or percentage.
     * @default null
     */
    width: string;
    /**
     * Specifies the height by given pixel or percentage.
     * @default null
     */
    height: string;
    /**
     * Specifies the border of tree map.
     */
    border: BorderModel;
    /**
     * Specifies the margin to move the render area.
     */
    margin: MarginModel;
    /**
     * Specifies the background.
     */
    background: string;
    /**
     * Specifies the theme.
     */
    theme: TreeMapTheme;
    /**
     * Specifies the title for tree map.
     */
    titleSettings: TitleSettingsModel;
    /**
     * Specifies the rendering of layout type.
     */
    layoutType: LayoutMode;
    /**
     * Specifies the dataSource.
     * @isGenericType true
     * @isObservable true
     * @default null
     */
    dataSource: data.DataManager | TreeMapAjax | Object[];
    /**
     * Specifies the query for filter the data.
     * @default null
     */
    query: data.Query;
    /**
     * Specifies the weight value path
     */
    weightValuePath: string;
    /**
     * Specifies the colorValuePath
     */
    rangeColorValuePath: string;
    /**
     * Specifies the colorValuePath
     */
    equalColorValuePath: string;
    /**
     * Specifies the colorValuePath from dataSource
     */
    colorValuePath: string;
    /**
     * Specifies the palette colors.
     */
    palette: string[];
    /**
     * Specifies the rendering of layout of the treemap items.
     * @default TopLeftBottomRight
     */
    renderDirection: RenderingMode;
    /**
     * To enable or disable the drillDown.
     */
    enableDrillDown: boolean;
    /**
     * To render the text from right to left.
     */
    enableBreadcrumb: boolean;
    /**
     * To add the breadCrumb connector.
     */
    breadcrumbConnector: string;
    /**
     * To control the drillDown view.
     */
    drillDownView: boolean;
    /**
     * Specifies the initial drillDown.
     */
    initialDrillDown: InitialDrillSettingsModel;
    /**
     * Specifies to access all leaf items in levels.
     */
    leafItemSettings: LeafItemSettingsModel;
    /**
     * Specifies the item levels.
     */
    levels: LevelSettingsModel[];
    /**
     * To specifies the highlight settings.
     */
    highlightSettings: HighlightSettingsModel;
    /**
     * To specifies the selection settings.
     */
    selectionSettings: SelectionSettingsModel;
    /**
     * Specifies the tooltip settings.
     */
    tooltipSettings: TooltipSettingsModel;
    /**
     * Specifies the legend settings.
     */
    legendSettings: LegendSettingsModel;
    /**
     * To enable the separator
     * @default false
     */
    useGroupingSeparator: boolean;
    /**
     * Description for maps.
     * @default null
     */
    description: string;
    /**
     * TabIndex value for treemap.
     * @default 1
     */
    tabIndex: number;
    /**
     * To apply internationalization for treemap
     * @default null
     */
    format: string;
    /**
     * Triggers before treemap rendered.
     * @event
     */
    load: base.EmitType<ILoadEventArgs>;
    /**
     * Triggers before the prints gets started.
     * @event
     * @blazorProperty 'OnPrint'
     */
    beforePrint: base.EmitType<IPrintEventArgs>;
    /**
     * Triggers after treemap rendered.
     * @event
     * @blazorProperty 'Loaded'
     */
    loaded: base.EmitType<ILoadedEventArgs>;
    /**
     * Triggers before item rendering.
     * @event
     * @blazorProperty 'ItemRendering'
     */
    itemRendering: base.EmitType<IItemRenderingEventArgs>;
    /**
     * Triggers the drillDown start.
     * @event
     * @blazorProperty 'OnDrillStart'
     */
    drillStart: base.EmitType<IDrillStartEventArgs>;
    /**
     * Triggers the drillDown end.
     * @event
     * @blazorProperty 'DrillCompleted'
     */
    drillEnd: base.EmitType<IDrillEndEventArgs>;
    /**
     * Triggers the item selected.
     * @event
     * @blazorProperty 'ItemSelected'
     */
    itemSelected: base.EmitType<IItemSelectedEventArgs>;
    /**
     * Triggers the item highlight.
     * @event
     * @blazorProperty 'ItemHighlighted'
     */
    itemHighlight: base.EmitType<IItemHighlightEventArgs>;
    /**
     * Triggers the tooltip rendering.
     * @event
     * @blazorProperty 'TooltipRendering'
     * @blazorType ITreeMapTooltipArgs
     */
    tooltipRendering: base.EmitType<ITreeMapTooltipRenderEventArgs>;
    /**
     * Triggers the item click.
     * @event
     * @blazorProperty 'OnItemClick'
     */
    itemClick: base.EmitType<IItemClickEventArgs>;
    /**
     * Triggers the item move.
     * @event
     * @blazorProperty 'OnItemMove'
     */
    itemMove: base.EmitType<IItemMoveEventArgs>;
    /**
     * Triggers the click event.
     * @event
     * @blazorProperty 'OnClick'
     */
    click: base.EmitType<IItemClickEventArgs>;
    /**
     * Triggers on double clicking the maps.
     * @event
     * @blazorProperty 'OnDoubleClick'
     */
    doubleClick: base.EmitType<IDoubleClickEventArgs>;
    /**
     * Triggers on right clicking the maps.
     * @event
     * @blazorProperty 'OnRightClick'
     */
    rightClick: base.EmitType<IMouseMoveEventArgs>;
    /**
     * Triggers the mouse move event.
     * @event
     * @blazorProperty 'OnMouseMove'
     */
    mouseMove: base.EmitType<IMouseMoveEventArgs>;
    /**
     * Triggers the resize event.
     * @event
     * @blazorProperty 'Resizing'
     */
    resize: base.EmitType<IResizeEventArgs>;
    /**
     * Triggers the legend item rendering.
     * @event
     * @blazorProperty 'LegendItemRendering'
     */
    legendItemRendering: base.EmitType<ILegendItemRenderingEventArgs>;
    /**
     * Triggers the legend rendering event.
     * @event
     * @deprecated
     * @blazorProperty 'LegendRendering'
     */
    legendRendering: base.EmitType<ILegendRenderingEventArgs>;
    /**
     * 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;
    /**
     * @private
     */
    themeStyle: IThemeStyle;
    /**
     * @private
     * Stores the legend bounds.
     */
    totalRect: Rect;
    /** @private */
    layout: LayoutPanel;
    /** @private */
    orientation: string;
    /** @private */
    drilledItems: Object[];
    /** @private */
    drilledLegendItems: Object;
    /** @private */
    currentLevel: number;
    /** @private */
    isHierarchicalData: boolean;
    /** @private */
    private resizeTo;
    /** @private */
    private mouseDown;
    /** @private */
    private drillMouseMove;
    /** @private */
    doubleTapTimer: Object;
    /** @private */
    isBlazor: boolean;
    /**s
     * Constructor for TreeMap component.
     */
    constructor(options?: TreeMapModel, element?: string | HTMLElement);
    protected preRender(): void;
    protected render(): void;
    private processDataManager;
    private renderTreeMapElements;
    protected createSvg(): void;
    /**
     * To initilize the private varibales of treemap.
     */
    private initPrivateVariable;
    private createSecondaryElement;
    private elementChange;
    /**
     * @private
     * Render the treemap border
     */
    private renderBorder;
    private renderTitle;
    protected processingData(): void;
    private checkIsHierarchicalData;
    private processHierarchicalData;
    /**
     * Handles the print method for chart control.
     */
    print(id?: string[] | string | Element): void;
    /**
     * Handles the export method for chart control.
     * @param type
     * @param fileName
     */
    export(type: ExportType, fileName: string, orientation?: pdfExport.PdfPageOrientation): void;
    private processFlatJsonData;
    reOrderLevelData(start: number): void;
    findTotalWeight(processData: Object[], type: string): void;
    /**
     * To unbind event handlers for treemap.
     */
    private unWireEVents;
    /**
     * To bind event handlers for treemap.
     */
    private wireEVents;
    /**
     * Method to set culture for maps
     */
    private setCulture;
    /**
     * To add tab index for treemap element
     */
    private addTabIndex;
    /**
     * To handle the window resize event on treemap.
     */
    resizeOnTreeMap(e: Event): void;
    clickOnTreeMap(e: PointerEvent): void;
    doubleClickOnTreeMap(e: PointerEvent): void;
    rightClickOnTreeMap(e: PointerEvent): void;
    mouseDownOnTreeMap(e: PointerEvent): void;
    mouseMoveOnTreeMap(e: PointerEvent): void;
    calculateSelectedTextLevels(labelText: String, item: Object): Object;
    calculatePreviousLevelChildItems(labelText: String, drillLevelValues: Object, item: Object, directLevel: boolean): boolean;
    compareSelectedLabelWithDrillDownItems(drillLevelValues: Object, item: Object, i: number): Object;
    mouseEndOnTreeMap(e: PointerEvent): void;
    mouseLeaveOnTreeMap(e: PointerEvent): void;
    /**
     * To provide the array of modules needed for maps rendering
     * @return {base.ModuleDeclaration[]}
     * @private
     */
    requiredModules(): base.ModuleDeclaration[];
    /**
     * Called internally if any of the property value changed.
     * @private
     */
    onPropertyChanged(newProp: TreeMapModel, oldProp: TreeMapModel): void;
    /**
     * Get component name
     */
    getModuleName(): string;
    /**
     * To destroy the treemap control.
     */
    destroy(): void;
    /**
     * Get the properties to be maintained in the persisted state.
     * @private
     */
    getPersistData(): string;
}
/**
 * @private
 */
export  class LevelsData {
    static levelsData: object[];
    static defaultLevelsData: object[];
    static hierarchyData: object[];
}
//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: object[];
    legendHighlightCollection: object[];
    currentElement: object[];
    constructor(treeMap: TreeMap);
    /**
     * Mouse down event in highlight
     */
    mouseMove(e: PointerEvent): boolean;
    /**
     * To bind events for highlight
     */
    private addEventListener;
    /**
     * To unbind events for highlight
     */
    private removeEventListener;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the hightlight.
     * @return {void}
     * @private
     */
    destroy(treeMap: TreeMap): void;
}
/**
 * Performing treemap selection
 */
export  class TreeMapSelection {
    private treemap;
    selectionId: string;
    legendSelectId: string;
    shapeSelectId: string;
    shapeElement: Element;
    shapeSelectionCollection: object[];
    legendSelectionCollection: object[];
    shapeSelect: boolean;
    legendSelect: boolean;
    constructor(treeMap: TreeMap);
    /**
     * Mouse down event in selection
     */
    mouseDown(e: PointerEvent): void;
    /**
     * To bind events for selection
     */
    private addEventListener;
    /**
     * To unbind events for selection
     */
    private removeEventListener;
    /**
     * Get module name.
     */
    protected getModuleName(): string;
    /**
     * To destroy the selection.
     * @return {void}
     * @private
     */
    destroy(treeMap: TreeMap): 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.
     */
    protected getModuleName(): string;
    /**
     * To destroy the tooltip.
     * @return {void}
     * @private
     */
    destroy(treeMap: TreeMap): void;
}
//node_modules/@syncfusion/ej2-treemap/src/treemap/utils/enum.d.ts
/**
 * Specifies the enum values for tree map components.
 */
/**
 * Specifies the types of label position.
 */
export  type LabelPosition = 
/** Specifies the top left */
'TopLeft' | 
/** Specifies the top center */
'TopCenter' | 
/** Specifies the top right */
'TopRight' | 
/** Specifies the center left */
'CenterLeft' | 
/** Specifies the center */
'Center' | 
/** Specifies the center right */
'CenterRight' | 
/** Specifies the bottom left */
'BottomLeft' | 
/** Specifies the bottom center */
'BottomCenter' | 
/** Specifies the bottom right */
'BottomRight';
/**
 * Specifies the types of layout rendering modes.
 */
export  type LayoutMode = 
/** Specifies the squarified */
'Squarified' | 
/** Specifies the horizontal */
'SliceAndDiceHorizontal' | 
/** Specifies the vertical */
'SliceAndDiceVertical' | 
/** Specifies the auto */
'SliceAndDiceAuto';
/**
 * Defines the Alignment.
 */
export  type Alignment = 
/** Define the left alignment. */
'Near' | 
/** Define the center alignment. */
'Center' | 
/** Define the right alignment. */
'Far';
/**
 * Defines the highlight mode.
 */
export  type HighLightMode = 
/** Define the item. */
'Item' | 
/** Define the child. */
'Child' | 
/** Define the parent. */
'Parent' | 
/** Define the all. */
'All';
/**
 * Defines the highlight mode.
 */
export  type SelectionMode = 
/** Define the item. */
'Item' | 
/** Define the child. */
'Child' | 
/** Define the parent. */
'Parent' | 
/** Define the all. */
'All';
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';
/**
 * labelAlignment
 */
export  type LabelAlignment = 
/** Trim */
'Trim' | 
/** Hide */
'Hide' | 
/** WordByWrap */
'WrapByWord' | 
/** WordByText */
'Wrap';
/**
 * Defines the shape of legend.
 */
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 Star. */
'Star' | 
/** Render a HorizontalLine. */
'HorizontalLine' | 
/** Render a VerticalLine. */
'VerticalLine' | 
/** Render a Pentagon. */
'Pentagon' | 
/** Render a InvertedTriangle. */
'InvertedTriangle' | 
/** Render a image */
'Image';
/**
 * Defines the position of the legend. They are
 * * top - Displays the legend on the top.
 * * left - Displays the legend on the left.
 * * bottom - Displays the legend on the bottom.
 * * right - Displays the legend on the right.
 * * float - Displays the legend  based on given x and y value.
 */
export  type LegendPosition = 
/** Places the legend on the top. */
'Top' | 
/** Places the legend on the left. */
'Left' | 
/** Places the legend on the bottom. */
'Bottom' | 
/** Places the legend on the right. */
'Right' | 
/** Places the legend based on given x and y. */
'Float' | 
/** Places the legend based on width and height. */
'Auto';
/**
 * Defines the Legend modes. They are
 * * Default - Specifies the Default mode.
 * * interactive - specifies the Interactive mode.
 */
export  type LegendMode = 
/** Legend remains static */
'Default' | 
/** Legend remains interactively */
'Interactive';
/**
 * Defines the legend arrangement
 */
export  type LegendOrientation = 
/** Legend item placed default based on legend orientation */
'None' | 
/** Legend items placed in row wise */
'Horizontal' | 
/** Legend items place in column wise */
'Vertical';
/**
 * Defines the label intersect action types
 */
export  type LabelIntersectAction = 
/** Specifies the intersect action as None */
'None' | 
/** Specifies the intersect action as Trim  */
'Trim' | 
/**  Specifies the intersect action as Hide */
'Hide';
/**
 * Defines the label placement type
 */
export  type LabelPlacement = 
/** Specifies the label placement as Before */
'Before' | 
/** Specifies the label plcement as After */
'After';
/**
 * Defines Theme. They are
 * * Material - Render a treemap with Material theme.
 * * Fabric - Render a treemap with Fabric theme
 * * Bootstrap - Render a treemap with Bootstrap theme
 */
export  type TreeMapTheme = 
/**  Render a treemap with Material theme. */
'Material' | 
/**  Render a treemap with Fabric theme. */
'Fabric' | 
/**  Render a treemap with HighContrast ligh 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';
/**
 * Defines the Rtl Directions
 */
export  type RenderingMode = 
/** Render treemap item from top right to bottom left direction */
'TopRightBottomLeft' | 
/** Render treemap item from bottom left to top right direction */
'BottomLeftTopRight' | 
/** Render treemap item from bottom right to top left direction */
'BottomRightTopLeft' | 
/** Render treemap item from top left to bottom right direction */
'TopLeftBottomRight';
//node_modules/@syncfusion/ej2-treemap/src/treemap/utils/export.d.ts
/**
 * Annotation Module handles the Annotation for Maps
 */
export  class ExportUtils {
    private control;
    private printWindow;
    /**
     * Constructor for Maps
     * @param control
     */
    constructor(control: TreeMap);
    /**
     * To print the Maps
     * @param elements
     */
    print(elements?: string[] | string | Element): void;
    /**
     * To get the html string of the Maps
     * @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): void;
    /**
     * To trigger the download element
     * @param fileName
     * @param type
     * @param url
     */
    triggerDownload(fileName: string, type: ExportType, url: string, isDownload: boolean): void;
}
//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
 * @param  {FontModel} font
 * @param  {string} id
 * @returns no
 * @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);
}
/**
 * @private
 * Trim the title text
 */
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: Object, text: string): HTMLElement;
/**
 * Internal rendering of text
 * @private
 */
export  function renderTextElement(options: TextOption, font: FontModel, color: string, parent: HTMLElement | Element, isMinus?: boolean): Element;
export  function getElement(id: string): Element;
export  function itemsToOrder(a: Object, b: Object): number;
export  function isContainsData(source: string[], pathName: string, processData: Object, treemap: TreeMap): boolean;
export  function findChildren(data: Object): Object;
export  function findHightLightItems(data: Object, items: string[], mode: string, treeMap: TreeMap): string[];
/**
 * Function to compile the template function for maps.
 * @returns Function
 * @private
 */
export  function getTemplateFunction(template: string): Function;
/**
 * @private
 */
export  function convertElement(element: HTMLCollection, labelId: string, data: Object): 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): object;
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
 */
export  function hide(maxWidth: number, maxHeight: number, text: string, font: FontModel): string;
export  function orderByArea(a: number, b: number): number;
export  function removeClassNames(elements: HTMLCollection, type: string, treemap: TreeMap): void;
export  function applyOptions(element: SVGPathElement, options: Object): void;
export  function textFormatter(format: string, data: object, 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);
}
/** @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 drawSymbol(location: Location, shape: string, size: Size, url: string, options: PathOption, label: string): Element;
/** @private */
export  function renderLegendShape(location: Location, size: Size, shape: string, options: PathOption, url: string): IShapes;
export  function isParentItem(data: Object[], item: Object): boolean;
/**
 * Ajax support for treemap
 */
export  class TreeMapAjax {
    /** options for data */
    dataOptions: string | Object;
    /** type of data */
    type: string;
    /** async value */
    async: boolean;
    /** type of the content */
    contentType: string;
    /** sending data */
    sendData: string | Object;
    constructor(options: string | Object, type?: string, async?: boolean, contentType?: string, sendData?: string | Object);
}
export  function removeShape(collection: object[], value: string): void;
export  function removeLegend(collection: object[], value: string): void;
export  function setColor(element: Element, fill: string, opacity: string, borderColor: string, borderWidth: string): void;
export  function removeSelectionWithHighlight(collection: object[], element: object[], treemap: TreeMap): void;
export  function getLegendIndex(length: number, item: object, treemap: TreeMap): number;
export  function pushCollection(collection: object[], index: number, number: number, legendElement: Element, shapeElement: Element, renderItems: object[], legendCollection: object[]): void;
 }
}
